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

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>
主站蜘蛛池模板: 安仁县| 吴堡县| 永仁县| 宁陵县| 牡丹江市| 锡林浩特市| 马鞍山市| 呼伦贝尔市| 治多县| 滨州市| 怀来县| 浦城县| 河源市| 乳源| 耒阳市| 元氏县| 诏安县| 年辖:市辖区| 吉安县| 商南县| 静宁县| 老河口市| 牙克石市| 明溪县| 城口县| 乐业县| 叙永县| 亳州市| 张家港市| 柳河县| 辽宁省| 乐都县| 武鸣县| 阿坝县| 蓬莱市| 郯城县| 勐海县| 德州市| 行唐县| 安化县| 城市|