Servlet Servlet的路径跳转

Servlet的路径跳转
一、JSP跳转到Servlet
1、相对路径,如href="servlet/TestServlet"
如果写成"/servlet/TestServlet"会报错,因为第一个“/”表示的是【服务器根目录】
2、绝对路径,通过内置成员变量path实现,如href="<%=path%>/servlet/TestServlet"
path得到的是项目根目录,如【http://localhost:8080/ServletDemo】
二、Servlet跳转JSP
1、请求重定向:response.sendRedirect(request.getContextPath()+"/xxx.jsp");
request.getContextPath()获得项目根目录,或者通过"../xxx.jsp"取得上层路径得到
2、服务器内部转发:
request.getRequestDispatcher("../xxx.jsp").forward(req,resp);
request.getRequestDispatcher("/test.jsp").forward(request, response); //斜线表示项目的根目录
小结:Servlet都可以通过../xxx.jsp获取路径
三、web.xml的路径

web.xml的<url-pattern>必须以“/”开头,“/”表示项目的根目录

在JSP页面上使用相对路径和绝对路径调用servlet
web.xml的<url-pattern>必须以“/”开头,“/”表示项目的根目录
如果在Servlet中使用请求重定向方式跳转到其他jsp页面,则需要:
response.sendRedirect(request.getContextPath()+"/test.jsp");
服务器内部跳转路径:
request.getRequestDispatcher("/test.jsp").forward(request,response);//这里的斜线表示项目的根目录
或者request.getRequestDispatcher("../test.jsp").forward(request,response);//“..”表示回到上层目录也就是根目录;
PS:如果<url-pattern>带一层路径 如:<url-pattern>/servlet/loginServlet</url-pattern>,则内部转发的时会从WebRoot/servlet/路径下找jsp页面,如果要转发的页面不在WebRoot/servlet/路径下,则需要“..”回到上层或根目录再定位到jsp页面,如下:request.getRequestDispatcher("../test.jsp").forward(request,response);
如果要转发的页面在WebRoot/servlet/路径下,则如下:request.getRequestDispatcher("/test.jsp").forward(request,response);
时间: 2024-09-27 20:19:51

Servlet Servlet的路径跳转的相关文章

java servlet 几种页面跳转的方法_java

Servlet: 当然,在servlet中,一般跳转都发生在doGet, doPost等方法里面. 1) redirect 方式 response.sendRedirect("/a.jsp"); 页面的路径是相对路径.sendRedirect可以将页面跳转到任何页面,不一定局限于本web应用中,如: response.sendRedirect("http://www.jb51.net"); 跳转后浏览器地址栏变化. 这种方式要传值出去的话,只能在url中带param

javaweb-jsp页面调用Servlet后进入Servlet页面空白不跳转了

问题描述 jsp页面调用Servlet后进入Servlet页面空白不跳转了 各位大大,小弟正在用java做毕业设计,遇到一个问题,就是想实现获取页面的学生姓名sname和学号sno,然后到数据库中执行查询,将这个学生的成绩从数据库中输出到新的页面.可是,问题来了:在查询页面点击提交按钮后,页面跳转到ChengjiServlet2页面,web浏览器就一片空白,在ChengjiServlet2页面的sendRedirect也没了作用...希望各位大大们看在我操心做毕业设计的份儿上帮帮我吧,说白了就是

servlet中实现页面跳转实现方法

servlet中实现页面跳转实现方法 客户端跳转 // 使用response对象的sendredirect实现客户端跳转 // servlet的doget方法 public void doget(https教程ervletrequest req,httpservletresponse res)     throws servletexception,ioexception {     printwriter out = res.getwriter();     out.println("hell

关于java中servlet中的路径的几个函数的例子

关于servlet中的路径的几个函数的例子: 假设有如下请求的路径: http://192.168.1.191:8083/CitizenWeb/TestServlet?ywdm=01&czmd=02&dd=00030 1. /CitizenWeb request.getContextPath();  2.  TestServlet request.getRequestURI().substring(request.getRequestURI().lastIndexOf("/&qu

myeclipse-两个项目如何实现用servlet传递数据并跳转页面

问题描述 两个项目如何实现用servlet传递数据并跳转页面 怎样才可以让第一个项目中的servlet给第二个项目中的servlet传递数据?我是初学,请大神们说的详细点,谢谢 解决方案 A项目提供调用参数的接口.B项目运行的时候调用该接口便可以得到值.至于用servlet传值,没试过.貌似不再一个平面上不行. 解决方案二: 跨域的话没有办法传递.第一个项目提供数据接口. 你的第二个项目从第一个项目接口中取数据 解决方案三: Servlet之间传递程数据的方式 解决方案四: 首先确认两个项目都在

jsp如何实现调用servlet后页面不跳转

问题描述 jsp如何实现调用servlet后页面不跳转 想实现这样的功能:在页面点击按键后,servlet向邮箱发个验证码邮件,页面停留在当前页面,之前填写的信息保持不变.大概是异步通信的问题?不知道怎么实现...求解..(现在邮箱验证什么的都没问题,只是调用servlet后页面会跳转,但我希望能就停在当前页面,等输入验证码之后再按键,跳转到其他页面) 解决方案 可以采用AjaX实现 解决方案二: 相关请搜索jquery ajax 解决方案三: 为什么会跳转呢?你的request中是不是重定向了

jsp-JSP页面点击按钮转servlet处理,未能跳转

问题描述 JSP页面点击按钮转servlet处理,未能跳转 jsp的代码 servlet中的doPost方法String s1=request.getParameter(""num1""); String s2=request.getParameter(""num2""); int a=Integer.parseInt(s1); int b=Integer.parseInt(s2); int sum= a+b; request

关于jsp和servlet中实现页面跳转的几种方式总结

 关于jsp和servlet中实现页面跳转的几种方式: 假设要求从test1.jsp 跳转到test2.jsp 一. jsp中跳转: 1. 使用RequestDispatcher.forward方法转发 <%  RequestDispatcher rd = getServletContext().getRequestDispatcher("/test/test2.jsp");  rd.forward(request, response); %> 2. response.se

ajax-jquery访问servlet 无法进行页面跳转

问题描述 jquery访问servlet 无法进行页面跳转 js $(document).ready(function(){ $("#user_login").click(function(){ var username=$("#user_name").val(); var password=$("#user_password").val(); //alert(username1); //var username=encodeURI(encode