1、@WebServlet
这个注解可以用来修饰一个Servlet类,可以简化配置,替代Web.xml中 的servlet配置
①value属性
表示指定某个url-pattern
②urlPatterns属性
表示接受多个不同的url-pattern,多个值写在一对{}中,逗号分隔
补充;url-pattern格式:
③name属性
表示当前servlet的名字
④initParams属性
表示当前的servlet初始化参数,其中每一个@WebParam注解修饰一个参数
⑤loadOnStartup属性
表示当前servlet初始化的时机
@WebServlet(name = "test2",
urlPatterns = {"/myservlet02", "/hello/abc", "/test2/*"},
initParams = {
@WebInitParam(name = "username", value = "Tom"),
@WebInitParam(name = "age", value = "20")},
loadOnStartup = 0)
补充:value属性和urlPatterns属性
value | String[] | 该属性等价于urlPatterns属性,但是两个不应该同时使用 |
urlPatterns | String[] | 指定一组过滤器的URL匹配模式。等价于< url-pattern> |
url属性:10 url-pattern的匹配规则_url-pattern *-CSDN博客
"/myservlet02"匹配:
http://ip地址:端口/web应用的名称/请求名(patter-url)
和http://ip地址:端口/web应用的名称/myservlet02 匹配
"/hello/abc"
精确匹配:
和http://ip地址:端口/web应用的名称/hello/abc
"/test2/*"
和和http://ip地址:端口/web应用的名称/test2/所有路径 匹配
页面跳转
1、请求转发
这是一种后端servlet向下一个页面的跳转方式,RequestDispatcher对象,
①使用HttpServletRequest调用getRequestDispatcher(目标页面路径)获取RequestDispatcher对象路径中/表示web应用的根目录
②由RequestDispatcher对象调用forward(HttpServletRequest对象,HttpServletResponse对象)完成转发
RequestDispatcher dispatcher = request.getRequestDispatcher("目标资源路径");
dispatcher.forward(request, response);
例子:
RequestDispatcher rd =
req.getRequestDispatcher("/test4.html");
rd.forward(req, resp);
2、重定向
这也是一种后端servlet向下一个目标资源的跳转方式
我们使用HttpServletResponse调用sendRedirect(目标资源路径)完成重定向的跳转
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String site = "http://www.example.com";
response.sendRedirect(site);
}