官术网_书友最值得收藏!

How to do it...

You need to perform the following steps to complete this recipe:

  1. Let's create a User class for our recipe:
public class User {

private String name;
private String email;

//DO NOT FORGET TO IMPLEMENT THE GETTERS AND SETTERS

}
  1. Now, let's add our servlet:
@WebServlet(name = "UserServlet", urlPatterns = {"/UserServlet"})
public class UserServlet extends HttpServlet {

private User user;

@PostConstruct
public void instantiateUser(){
user = new User("Elder Moraes", "elder@eldermoraes.com");
}

...
We used the @PostConstruct annotation over the instantiateUser() method here. It says to the server that whenever this servlet is constructed (a new instance is up and running), it can run this method.
  1. We also need to implement the init() and destroy() super methods:
    @Override
public void init() throws ServletException {
System.out.println("Servlet " + this.getServletName() +
" has started");
}

@Override
public void destroy() {
System.out.println("Servlet " + this.getServletName() +
" has destroyed");
}
  1. We also need to implement doGet() and doPost():
    @Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doRequest(request, response);
}

@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doRequest(request, response);
}
  1. Both doGet() and doPost() will call our custom method, that is, doRequest():
    protected void doRequest(HttpServletRequest request, 
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
try (PrintWriter out = response.getWriter()) {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet UserServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h2>Servlet UserServlet at " +
request.getContextPath() + "</h2>");
out.println("<h2>Now: " + new Date() + "</h2>");
out.println("<h2>User: " + user.getName() + "/" +
user.getEmail() + "</h2>");
out.println("</body>");
out.println("</html>");
}
}
  1. Finally, we have a web page so that we can call our servlet:
    <body>
<a href="<%=request.getContextPath()%>/UserServlet">
<%=request.getContextPath() %>/UserServlet</a>
</body>
主站蜘蛛池模板: 漳平市| 疏勒县| 开江县| 仙桃市| 建水县| 宁陵县| 晋宁县| 遵化市| 阳信县| 邛崃市| 盐源县| 横山县| 邵武市| 榕江县| 宾川县| 达州市| 赣榆县| 呼和浩特市| 岳普湖县| 开封县| 察哈| 广水市| 大悟县| 明水县| 江永县| 万州区| 巧家县| 抚顺市| 乌海市| 绍兴市| 武陟县| 奉新县| 新昌县| 万源市| 宝清县| 永靖县| 富平县| 新蔡县| 辰溪县| 都兰县| 湖口县|