您的位置:首页 > 其它

使用Servlet技术~路径-03

2015-01-26 16:21 211 查看
  路径分为两种:相对路径 和 绝对路径,就像初中物理学的绝对静止和相对静止的意思差不多。

如图:



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);//绝对路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: