我在一个Servlet的dopost方法中调用如下方法: RequestDispatcher rd = null;
rd = getServletConfig().getServletContext().getRequestDispatcher("/login.jsp");
rd.forward(request, response);它执行完之后页面的确是跳转了,但是地址是:http://localhost:8080/UPCOA/servlet/register(这是为什么?)
我想让它的地址变成http://localhost:8080/UPCOA/login.jsp要怎么办呢?谢谢!
rd = getServletConfig().getServletContext().getRequestDispatcher("/login.jsp");
rd.forward(request, response);它执行完之后页面的确是跳转了,但是地址是:http://localhost:8080/UPCOA/servlet/register(这是为什么?)
我想让它的地址变成http://localhost:8080/UPCOA/login.jsp要怎么办呢?谢谢!
解决方案 »
- struts2拦截器的例子
- 看尚学堂敲代码学java是不是个好主意?
- struts2+hibernate3+spring2.5出现的异常org.hibernate.StaleStateException: Batch update
- 请高手前辈分析这个怎么查啊!!
- 高手呀,帮帮忙呀!EJB的高手快过来呀....
- struts中使用validator框架的问题: Cannot load a validator resource from
- eclipse問題
- 如何配置tomcat使得JSP修改后,不用重起tomcat就能重新编译JSP
- 谁有这本书的下载地址。我下到书之后给分。。。。
- 如何在pc甲上访问pc乙上的Ejb?
- 字符串转日期求助
- Java系统优化
你的跳转时请求login.jsp的资源,地址栏不会变
另外
rd = getServletConfig().getServletContext().getRequestDispatcher("../login.jsp");
rd.forward(request, response);应该也可以吧,试试
这是 RequestDispatcher.forward 的一个特征。即地址栏的地址不会改变。
你可以使用 HttpServletResponse.sendRedirect 方法进行转发。但这个方法与 forward 有着很大的区别。
如果使用 forward 则在转向前和转向后都同属于一次客户端请求。
如果使用 sendRedirect ,实则是“转发”,也就是相当于客户端的两次请求。
RequestDispatcher rd = null;
rd = request.getRequestDispatcher("/login.jsp");
rd.forward(request, response);楼主这样试试。