首先要理解这两句话的意思
requestgetRequestDispatcher()forward(request,response)这句话是把你的请求扔到了另外的服务上面了,像你上面这么写的话,就是把原来的请求扔给了GoodsCarjsp去处理,如果你其他东西没有写错的话,页面应该会跳转到GoodsCarjsp,而在这个jsp里面的request对象其实跟原来你的servlet里面的是同一个,servlet里面的request可以拿到的东西,这个jsp的request也可以拿到,因为它是servlet直接扔过来的,这个动作是由servlet发起的,所以客户端其实并不知道,留意一下你浏览器上面的url你就知道了,不管servlet里面forward到哪里去,你浏览器上面的url依然是这个servlet的地址,说明浏览器根本就不知道servlet已经把请求扔到别的地方去处理了。
responsesendRedirect()这句话是指示客户端重定向请求。客户端把请求发到servlet之后,servlet处理后给出来的响应是跟客户端说:“你去访问loginjsp吧”,然后客户端就会重新发送一个请求去loginjsp,但是这个请求跟之前发送给servlet的请求已经不是同一个。这个动作经历了三步,第一部是客户端发送请求到servlet,第二步是servlet返回相应,第三步是客户端重新定向请求。最后重定向的动作是由客户端发出的,所以你可以看到你的浏览器上面的地址是变了的。
你这里是页面,你这个路径是要告诉浏览器访问哪个Servlet,所以,你得加上ContextPath,另外,你这个是使用的GET方式,你Servlet里实现的要是DoGet()方法
URL:"${pageContextrequestcontextPath}/servlet/RegisterServletval=3&id=${cuserId}"
servlet中你的这行代码的意思分别是:\x0d\requestgetSession()代表的是获取session对象,setAttribute("tf", tf)表示像session中存入名为"tf"的对象tf\x0d\那么你在JSP页面中可以直接调用JSP内置对象-session来获取tf的值,具体代码为:\x0d\就可以了\x0d\如果你是使用JSTL标签标签,那么具体代码为:${sessionScopetf }
jsp导入这个
<%@ taglib uri=">
以上就是关于为何从Jsp页面跳转不到servlet页面怎么解决全部的内容,包括:为何从Jsp页面跳转不到servlet页面怎么解决、jsp页面中使用<a>标签为什么链接不到servlet中,接收不到传过去的值、jsp中如何获取servlet的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)