使用Servlet技术~路径-03

  路径分为两种:相对路径 和 绝对路径,就像初中物理学的绝对静止和相对静止的意思差不多。

 

     如图:

     

 

     1、配置文件路径

  对于web.xml, <!--url-pattern处必须以/开头,这里的/表示项目的根目录  -->例如: 

  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/servlet/HelloServlet</url-pattern>
  </servlet-mapping>

  <servlet-mapping>
    <servlet-name>TestServlet</servlet-name>
    <url-pattern>/servlet/TestServlet</url-pattern>
  </servlet-mapping>

     2、页面路径

      src下面有个servlet包,包下面有个servlet名字叫做:HelloServlet

  <!--使用相对路径访问HelloServlet -->
  <!-- /servlet/HelloServlet:错误。 第一个/表示服务器的根目录 -->


  <a href="servlet/HelloServlet">访问HelloServlet!</a><br>正确

 

      <% String path = request.getContextPath(); %>
  <!-- 使用绝对路径 访问HelloServlet,可以使用path变量:path变量表示项目的根目录-->

  <a href="<%=path%>/servlet/HelloServlet">访问HelloServlet!</a><br>正确

  <!--表单中action的URL地址写法,与超链接方式完全相同。 -->
  <a href="servlet/TestServlet">访问TestServlet,跳转到Test.jsp</a>

 

     3、重定向或者转发的路径

     

  //请求重定向方式跳转到test.jsp,当前路径是 项目名/servlet/
  //response.sendRedirect("test.jsp");这样的话,是获取 servlet下面的test.jsp,因为不存在所以报错。
  //使用request.getContextPath获得上下文对象
  //response.sendRedirect(request.getContextPath()+"/test.jsp");

  //服务器内部跳转,这里的斜线表示项目的根目录
  //request.getRequestDispatcher("/test.jsp").forward(request, response);//相对路径
  request.getRequestDispatcher("../test.jsp").forward(request, response);//绝对路径

 

posted on 2015-01-26 16:21  Seven、  阅读(158)  评论(0编辑  收藏  举报