Servlet路径跳转问题

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


相对路径
         注意这里的相对含义,相对于谁而言
              经过多次试验总结,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"); //这里使用的是相对路径

              




转载于:https://www.cnblogs.com/Val1ant/p/5338857.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值