java web开发路径问题总结

本文详细解释了在Java Web开发中正确配置不同场景下的路径方法,包括JSP页面链接、Servlet转发请求及web.xml配置等,并区分了相对路径与绝对路径的不同使用方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<s:a href="/register.jsp">注册</s:a> 是不可以的,
<s:a href="register.jsp">注册</s:a>才能找到连接路径。

还有在做文件io的时候也要注意:
File file = new File("/src/com/dom4j/students.xml");是不可以的,
File file = new File("src/com/dom4j/students.xml");才能找到。

用Java开发Web应用时,无论是Jsp页面、Servlet或是web.xml配置文件中都涉及到路径的问题,而这又是初学者较容易混淆的地方,往往不知道如何写路径。其实服务器端和客户端在处理路径的方式上不一致,因此需要根据不同的情况写出正确的路径。下面通过例子来说明。
假设Web应用road中,应用的根路径下有一个dir1文件夹和dir2文件夹。c.jsp在dir1中,a.jsp和b.jsp在dir2中。
+ root
    -dir1
        c.jsp
    -dir2
        a.jsp
        b.jsp
JSP页面中正确的路径表示 假设在a.jsp页面中有两个链接,分别链接到b.jsp和c.jsp页面。
直接写路径表示和页面在同一个文件夹下面,如<a href=“b.jsp">b.jsp</a>
“../”表示当前文件夹的上一级文件夹(相对路径),如: <a href=“。。/dir2/b.jsp”>b.jsp</a>,<a href=“。。/dir1/c.jsp”>c.jsp</a>
“/”表示 http://机器IP:8080(绝对路径),如: <a href=“/road/dir2/b.jsp”>b.jsp</a>
<a href=“/road/dir1/c.jsp”>c.jsp</a>
Servlet中正确的路径表示
转发请求时:“/”表示“http://服务器IP:8080/Web应用名”,例如: String forward = “/dir1/c.jsp”;
RequestDispatcher rd = request.getQRequestDispatcher(forward);
重定向时:“/” 表示“http://机器IP:8080”,而通过request.getContextPath()得到的是:“http://机器IP:8080/Web应用名”,例如: String str = request.getContextPath();
response.sendRedirect(str + “/dir1/c.jsp”);
配置文件web.xml中 url-mapping中,“/”表示“http://IP地址:8080/Web应用名”
---------------总结-----------------
在浏览器端:“/”表示的是一台WEB服务器,“http://机器IP:8080”
在服务器端(请求转发):“/”表示的是一个WEB服务器端的应用,“http://机器IP:8080/Web应用”
在服务器端(重定向):“/”表示的是一个WEB服务器,“http://机器IP:8080”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值