前言: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")})