Skip to content

Latest commit

 

History

History
123 lines (107 loc) · 3.32 KB

页面跳转之杠和杠星的区别.md

File metadata and controls

123 lines (107 loc) · 3.32 KB

页面跳转之//*的区别

  • //*的区别:/除了.jsp全过滤;/*全过滤

  • WEB-INF是安全目录,不能直接访问,用转发的方式进去。

一、webapp下页面测试

  • 1、导入jar包
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.12</version>
      <scope>test</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
    </dependency>
  • 2、webapp/index.jsp
    <%--
      Created by IntelliJ IDEA.
      User: sunny
      Date: 2018/8/12
      Time: 13:49
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <h3>hello world!</h3>
    </body>
    </html>
  • 3、HelloServlet.java (/除了.jsp全过滤;/*全过滤)
    package com.edu.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    @WebServlet("/") //.jsp可以直接访问
    public class HelloServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request,
                              HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request,response);
        }
    
        protected void doGet(HttpServletRequest request,
                             HttpServletResponse response)
                throws ServletException, IOException {
            System.out.println("==============");
        }
    }

二、WEB-INF下页面测试

  • 1、导入jar包(同上)

  • 2、webapp/WEB-INF/hello.jsp

    <%--
      Created by IntelliJ IDEA.
      User: sunny
      Date: 2018/8/12
      Time: 14:36
      To change this template use File | Settings | File Templates.
    --%>
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
        <title>Title</title>
    </head>
    <body>
    <h3>Hello world WEB-INF!</h3>
    </body>
    </html>
  • 3、HelloServlet.java

    package com.edu.servlet;
    
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import java.io.IOException;
    
    @WebServlet("/*")  //所有请求(无论在根目录后加任何请求)全跳转到webapp/WEB-INF/hello.jsp;
    public class HelloServlet extends HttpServlet {
        protected void doPost(HttpServletRequest request,
                              HttpServletResponse response)
                throws ServletException, IOException {
            doGet(request,response);
        }
    
        protected void doGet(HttpServletRequest request,
                             HttpServletResponse response)
                throws ServletException, IOException {
            System.out.println("==============");
            request.getRequestDispatcher("/WEB-INF/hello.jsp").forward(request,response);
        }
    }