1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java web24_javaWEB总结(24):相对路径和绝对路径

java web24_javaWEB总结(24):相对路径和绝对路径

时间:2021-03-25 01:37:44

相关推荐

java web24_javaWEB总结(24):相对路径和绝对路径

相对路径

项目结构1

web.xml

javaWeb_24

a.jsp

a.jsp

pageEncoding="UTF-8"%>

A.jsp

To B.jsp

b.jsp

pageEncoding="UTF-8"%>

B.jsp

To C.jsp

c.jsp

pageEncoding="UTF-8"%>

C.jsp

to A.jsp

运行结果1

有时候我们需要显示一些数据,可能会通过转发的方式到另外一个页面。

项目结构2

web.xml

javaWeb_24

a.jsp

a.jsp

pageEncoding="UTF-8"%>

A.jsp

To B.jsp

b.jsp

pageEncoding="UTF-8"%>

B.jsp

cities:

To C.jsp

c.jsp

pageEncoding="UTF-8"%>

C.jsp

to A.jsp

ToBServlet.javapackage com.dao.chu;

import java.io.IOException;

import java.util.Arrays;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class ToBServlet

*/

@WebServlet("/toBServlet")

public class ToBServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

List cities =Arrays.asList("北京","上海","广州","深圳");

request.setAttribute("cities", cities);

request.getRequestDispatcher("/path/b.jsp").forward(request, response);

}

}

运行结果2

点击 To B.jsp后,地址栏中http://localhost:8080/javaWeb_24/toBServlet 为跟路径下,所以点击To C.jsp会默认以跟路径为相对路径http://localhost:8080/javaWeb_24/c.jsp,这样便出现了问题。

绝对路径

javaWeb中什么是绝对路径?

相对于当前web应用的跟路径。此处为:http://localhost:8080/javaWeb_24/。即任何的路径都必须戴上contextPath.注意:http://localhost:8080/此路径为WEB站点的跟路径。

如何完成编写?

若/代表的是当前WEB站点的跟路径,则在其前面加上contextPath就可以。

而contextpath可以由request或application的getContextPath()方法来获取。

javaweb开发中的"/“代表什么?

①当前WEB应用的跟路径:

1.请求转发时request.getRequestDispatcher("/path/b.jsp").forward(request, response);

2.web.xml文件中映射servlet访问路径

3.各种标签中的/

②WEB站点的跟路径:

1.超链接.

2.表单中的action.

3.请求重定向时,response.sendRedirect.

总结:若"/“需交由Servlet容器来处理,则代表当前WEB应用的跟路径。若"/”交由游览器来处理,则代表当前WEB站点的跟路径。

所以只需在三个超链接加上即可。

a.jsp

pageEncoding="UTF-8"%>

A.jsp

To B.jsp

b.jsp

pageEncoding="UTF-8"%>

B.jsp

cities:

To C.jsp

c.jsp

pageEncoding="UTF-8"%>

C.jsp

to A.jsp

修改后,运行结果正常

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。