Хорошо, поэтому мне нужно создать веб-сервис RESTful, используя только сервлеты. Я не могу использовать весну или что-то подобное еще. Я новичок в услугах RESTful. Как бы я получить значения из GET и POST из тела, используя что-то вроде почтальона. Например, если я использую почтальон и пытаюсь сделать запрос doPOST, и я записываю username = "bob" и age = "5" в необработанном теле. Как получить эти значения и сохранить их в объекте своего профиля, а затем распечатать в формате Json?
Что у меня есть до сих пор
public class ProfileServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public ProfileServlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
HashMap<Integer, Profile> team = new HashMap<Integer, Profile>();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("application/json; charset=UTF-8");
//String requestUrl = request.getRequestURI();
PrintWriter out = response.getWriter();
Profile test = new Profile();
String id = request.getParameter("id");
int x;
if(id!=null)
{
x = Integer.parseInt(id);
test = team.get(x);
}
else
{
out.println("Error no user");
}
if(test != null)
{
out.println("ID: " + test.getId());
out.println("name: " + test.getUsername());
out.println("lastname: " + test.getLastname());
out.println("age: " + test.getAge());
out.println("favTeam: " + test.getFavTeam());
}
else
{
//ERROR
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
response.setContentType("application/json; charset=UTF-8");
String id = (String) request.getParameter("id");
String age = (String) request.getParameter("id");
int x = 0;
if(id!=null){
try{
x = Integer.parseInt(id);
}catch(Exception e){
}
}
String username = (String) request.getParameter("username");
String lastname = (String) request.getParameter("lastname");
String favTeam = (String) request.getParameter("favTeam");
int numage = 0;
if(age!=null){
try{
numage = Integer.parseInt(age);
}catch(Exception e){
}
}
Profile profile = new Profile(x,username,lastname,favTeam,numage);
team.put(profile.getId(),profile);
}
}
my xml
<servlet>
<servlet-name>ProfileServlet</servlet-name>
<servlet-class>ntrut.ProfileServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ProfileServlet</servlet-name>
<url-pattern>/profile</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>ProfileServlet</servlet-name>
<url-pattern>/profile/id</url-pattern>
</servlet-mapping>