前言:Servlet3.0帶來了註解的功能,這大大降低了配置xml所花費的時間和精力。以下介紹兩個註解:@WebServlet, @WebFilter
一、@WebServlet註解
1. 說明:該註解用來配置Servlet,其將會在服務器啓動時被tomcat容器處理,容器將根據具體的屬性配置將相應的類部署爲 Servlet。
2. 參數的說明:
3. 實例:
1 package servlet; 2 3 import javax.servlet.ServletException; 4 import javax.servlet.annotation.WebInitParam; 5 import javax.servlet.annotation.WebServlet; 6 import javax.servlet.http.HttpServlet; 7 import javax.servlet.http.HttpServletRequest; 8 import javax.servlet.http.HttpServletResponse; 9 import java.io.IOException; 10 11 @WebServlet( 12 displayName = "LoginServlet" , 13 name = "UserServlet", 14 urlPatterns = { "/servlet/LoginServlet" }, 15 loadOnStartup = 1, 16 initParams = { @WebInitParam(name = "username", value = "Jack") } 17 ) 18 public class LoginServlet extends HttpServlet { 19 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 20 doGet(request, response); 21 } 22 23 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 24 String username = request.getParameter("username"); 25 String password = request.getParameter("password"); 26 if ("admin".equals(username) && "admin".equals(password)) { 27 request.getSession().setAttribute("username", "admin"); 28 request.getSession().setAttribute("password", "admin"); 29 response.sendRedirect("../sucess.jsp"); 30 } else { 31 response.sendRedirect("../failed.jsp"); 32 } 33 } 34 }
二、@WebFilter
1. 說明:該註解用來配置過濾器。
2. 參數的說明:
3. 實例:
1 @WebFilter(filterName = "LoginFilter", urlPatterns = "/*", //對所有url進行過濾 2 initParams = {@WebInitParam(name = "url", value = "index.jsp;LoginServlet;error.jsp"), @WebInitParam(name = "encoding", value = "UTF-8")})