Lập trình quán

Thảo luận về lập trình

Thực hành Web programming with Servlets and JSP (SJSP)

Posted by thinhnv2 on April 23, 2013

1. Tạo servlet đầu tiên bằng Eclipse:

Mở Eclipse tạo mới một project với kiểu Dynamic Web Project:

web1

Click Next để sang màn hình tiếp theo. Ở màn hình này chúng ta nhập vào tên của project, chọn Apache Tomcat  v7.0 và không thay đổi Dynamic web module verion, vẫn là 3.0. Chú ý với phiên bản 3.0 chúng ta có nhiều thay đổi so với phiên bản cũ chẳng hạn thông tin cấu hình servlet sẽ sử dụng annotation thay vì cấu hình trong web.xml như chúng ta sẽ thấy ở các bước tiếp theo:

web2

Chọn next sau đó nhớ tich vào check box Generate web.xml deployment descriptor để sinh ra file web.xml:

web8

Đây là cấu trúc thư mục của dự án chúng ta vừa mới tạo ra:

web9

Bây giờ chúng ta sẽ tạo servlet đầu tiên. Nhấn chuột phải vào project vừa tạo, sau đó chọn New -> Servlet:

web3png

Nhập các thông tin servlet cần thiết như bên dưới sau đó click Finish:

web4

Bổ sung code cho lớp HelloServlets vừa tạo như sau:

package servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class HelloServlets
 */
@WebServlet("/HelloServlets")
public class HelloServlets extends HttpServlet {
 private static final long serialVersionUID = 1L;

 /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
 * @param request servlet request
 * @param response servlet response
 */
 protected void processRequest(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 response.setContentType("text/html;charset=UTF-8");
 PrintWriter out = response.getWriter();
 /* TODO output your page here*/
 out.println("<html>");
 out.println("<head>");
 out.println("<title>HelloServlets</title>");
 out.println("</head>");
 out.println("<body>");
 //Displays "HelloServlets" on the screen
 out.println("<h1>HelloServlets</h1>");
 out.println("</body>");
 out.println("</html>");
 out.close();
 }

 /** Handles the HTTP <code>GET</code> method.
 * @param request servlet request
 * @param response servlet response
 */
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }

 /** Handles the HTTP <code>POST</code> method.
 * @param request servlet request
 * @param response servlet response
 */
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
 throws ServletException, IOException {
 processRequest(request, response);
 }

 /** Returns a short description of the servlet.
 */
 public String getServletInfo() {
 return "Version 1.0, written by Vincent";
 }

}

Chú ý dòng code số 4, với phiên bản 3.0 Eclipse sẽ sử dụng annotation để cấu hình servlet thay cho file web.xml nên file web.xml không được update code khi chúng tạo servlet.

Bây giờ chúng ta sẽ update file web.xml để bổ sung HelloServlets như là trang mặc định như sau:

<welcome-file-list>
<welcome-file>HelloServlets</welcome-file>
</welcome-file-list>

Chạy project dưới chế độ Debug trong Apache Tomcat

web6

Dòng Hello Servlet sẽ in ra màn hình:

web10

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: