碰到一个关于web转向路劲问题

话不多说 先贴代码

a1.jsp

<%@ page contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<!doctype html>
<html>
<head>
<meta content="text/html;charset=utf-8">
<title></title>
</head>
<body style="font-size: 24px;">
	a1.jsp's content<br/>
	相对路径写法:
	<a href="../biz02/a2.jsp">a2.jsp</a>
	绝对路径写法:
	<a href="/servletjsp02demo/path/biz02/a2.jsp">a2.jsp</a>
	变量路径写法:
	<a href="<%=request.getContextPath()%>/path/biz02/a2.jsp">a2.jsp</a>
</body>
</html>

a2.jsp

<%@ page contentType="text/html; charset=utf-8"
	pageEncoding="utf-8"%>
<!doctype html>
<html>
<head>
<meta content="text/html;charset=utf-8">
<title></title>
</head>
<body style="font-size: 24px;">
	a2.jsp's content<br/>
	相对路径写法:
	<a href="../biz01/a1.jsp">a1.jsp</a>
	绝对路径写法:
	<a href="/servletjsp02demo/path/biz01/a1.jsp">a1.jsp</a>
	变量路径写法:
	<a href="<%=request.getContextPath()%>/path/biz01/a1.jsp">a1.jsp</a>
</body>
</html>

SomeServlet.java

public class SomeServlet extends HttpServlet {

	@Override
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html;charset=utf-8");
        PrintWriter out = response.getWriter();
        System.out.println("SomeServlet's service is running...");
        //重定向到biz01/a1.jsp
        request.getRequestDispatcher("/path/biz02/a2.jsp").forward(request, response);
	}
	
}

form.jsp

<%@ page contentType="text/html; charset=utf-8" pageEncoding="utf-8"%>
<!doctype html>
<html>
<head>
<meta content="text/html;charset=utf-8">
<title></title>
</head>
<body style="font-size: 24px;">
	<form action="<%=request.getContextPath()%>/some" method="post">
		<input type="text" name="name" /><br> <input type="submit"
			value="提交" />
	</form>
</body>
</html>

web.xml中servlet的配置情况

<servlet>
		<servlet-name>SomeServlet</servlet-name>
		<servlet-class>servlet.eljstl.path.SomeServlet</servlet-class>
	</servlet>
	<servlet-mapping>
		<servlet-name>SomeServlet</servlet-name>
		<url-pattern>/some</url-pattern>
	</servlet-mapping>

为了保证效果 所以代码贴的比较全 对不起各位大大了 以下是结构图


我碰到的问题是 在调试的时候 我能正常访问a1.jsp与a2.jsp之间的页面跳转,但是访问form.jsp时,经过servlet的重定向之后,可以正常访问到下一层页面(a1||a2),但是在这层页面通过相对路径访问(a1||a2)的时候,会告诉我找不到页面,然后这是浏览器地址栏信息:http://localhost:9101/biz01/a1.jsp。看到这个地址栏,我知道一定是路径出了问题,因为从(a1||a2)之间互相跳转的时候,路劲不是这样的。在chrome开发工具里面看超级链接也是一样的,但这个问题让我很困惑,所以希望看到的大大可以给我做出解答!



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值