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