zoukankan      html  css  js  c++  java
  • Servlet路径跳转问题

    Servlet中路径跳转(服务器端跳转)JSP


    1. 相对路径
            注意这里的相对含义,相对于谁而言
                经过多次试验总结,servlet相对路径跳转相对于servlet配置的xml路径(或servlet3.0注解路径)
                如下:
    1. //XML文件
    2. <servlet-mapping>
    3. <servlet-name>RegServlet</servlet-name>
    4. <url-pattern>/servlet/RegServlet</url-pattern>
    5. </servlet-mapping>

        项目目录:
                         
    Servlet中相对路径

    1. request.getRequestDispatcher("../userinfo.jsp").forward(request,response);
    这里的servlet路径配置在/servlet/RegServlet下(即根目录下的setvlet/目录下),则 ../ 目录则倒回到根目录下,而userInfo.jsp同样位于根目录下
        第二种情况:servlet3.0中的注解情况
    1. @WebServlet("/RegServlet") //新特性 访问地址直接配置好了
    同样的项目目录,则在servlet中访问则需要如下修改:
    1. request.getRequestDispatcher("userinfo.jsp").forward(request, response); //相对路径方式
    解释:因为系统注解的servlet配置在根目录(‘/’意味着根目录)下,则意味userInfo.jsp与servlet文件位于同一目录下,可可以直接访问。

    2. 绝对路径
            绝对路径则相对而言简单很多,
            这里注意一点,对照着上面的目录图,我们要理解到,服务器在解析路径时,'src','WebRoot',这些文件夹其实都忽略了,这样说或许不准确,但便于理解,也解释说,则两个目录下的文件,都是在同一个根目录下,
            如果访问同一个Jsp页面,这绝对路径的表示方式如下:
    1. request.getRequestDispatcher("/userinfo.jsp").forward(request, response);// ‘/’表示根目录 绝地路径



    Servlet中路径跳转(请求重定向跳转)JSP


    •         请求重定向( response.sendRedirect () )跳转多用下面的方式:
    1. response.sendRedirect(request.getContextPath()+"/userinfo.jsp"); //这里使用的是加上了上下文的绝对路径
                 解释:服务器在解析绝对路径时,比浏览器解析绝对路径时,,多了一部分,这部分就是项目名,也就是,上下文环境
       或者使用相对路径,这里的相对于与上面的相对是同一样含义(servlet配置的访问路径,这里配置的是/RegSevlet),则相对路径的表示方式为:
    1. response.sendRedirect("userinfo.jsp"); //这里使用的是相对路径

                




  • 相关阅读:
    20.Docker Swarm集群
    Phalcon下命令行应用(command line applications)
    Mysql 命令备忘
    PHPExcel+phalcon+yii批量导入
    Yii 之分页 + bootstrap
    PHPMailer+phalcon中使用
    Phalcon之分页
    虚拟机中ip和host设置问题
    php RSS订阅功能
    ubuntu/linux下设置永久路由
  • 原文地址:https://www.cnblogs.com/Val1ant/p/5338857.html
Copyright © 2011-2022 走看看