JSP编程,url中加斜杠和不加斜杠的区别(sendredirect,requestdispatcher,servlet,filter)
2012-03-05 05:03
501 查看
url中加斜杠”/”和不加斜杠的区别:
设webapp为web程序包名
通常来说,不加斜杠的形式(如”example.jsp”)请求的是相对于当前页面路径的资源 http://localhost:8080/webapp/examole;
加斜杠的形式(”/example.jsp”)请求的是服务器根目录下的资源,完整的url是由服务器地址+/example构成的:http://localhost:8080/example。如果页面不是放在服务器跟目录而是web程序包下,则不能使用加斜杠的形式。
这个程序是在WebRoot下面文件member的文件下: 加 / 斜杠 <jsp:include page="/NavServlet?method=navList"></jsp:include>
这个程序是在webroot下面: 不加 斜杠<jsp:include page="NavServlet?method=navList"></jsp:include>
sendRedirect和getRequestDispatcher方法中的url的不同:
response.sendRedirect(url):url=”example”, 地址相对于当前请求的目录; url=”/example”,请求的地址为服务器根目录下的example,如“http://localhost:8080/example” . 所以,sendRedirect方法中的url通常不在开头加”/”. sendRedirect的url区分方式和通常情况是一致的。
request.getRequestDispatcher(url)则与sendRedirect不同:url=”example”指向相对于当前请求地址的资源,加”/”开头指向web程序根目录下的资源/webapp/example。
servlet-mapping的url:servlet的url通常需要开头加斜杠。比如一个form的action的url=”a”( 因为/a就指向服务器根目录了),与之对应的servlet-mapping的url则为/a。
servlet-mapping的url的匹配方式:
/ex/* : 以斜杠开头,后缀通配符,/ex,/ex/a 都可匹配;
*.do : 通配符*后加点号,后缀名do结尾的,表示以 .do结尾的url都能匹配。如人人网的Home.do就是一例,struts中大量使用 .do和.action的后缀。这个后缀可以是开发者任意设定的,因为它并不指向实际存在的文件,都是用于和servlet或者filter匹配的。
/ex/ :是一种完全匹配,只有url是/ex/时才匹配,/ex ,/ex/a 都不行。
filter-mapping和servlet-mapping是一样的。.
设webapp为web程序包名
通常来说,不加斜杠的形式(如”example.jsp”)请求的是相对于当前页面路径的资源 http://localhost:8080/webapp/examole;
加斜杠的形式(”/example.jsp”)请求的是服务器根目录下的资源,完整的url是由服务器地址+/example构成的:http://localhost:8080/example。如果页面不是放在服务器跟目录而是web程序包下,则不能使用加斜杠的形式。
这个程序是在WebRoot下面文件member的文件下: 加 / 斜杠 <jsp:include page="/NavServlet?method=navList"></jsp:include>
这个程序是在webroot下面: 不加 斜杠<jsp:include page="NavServlet?method=navList"></jsp:include>
sendRedirect和getRequestDispatcher方法中的url的不同:
response.sendRedirect(url):url=”example”, 地址相对于当前请求的目录; url=”/example”,请求的地址为服务器根目录下的example,如“http://localhost:8080/example” . 所以,sendRedirect方法中的url通常不在开头加”/”. sendRedirect的url区分方式和通常情况是一致的。
request.getRequestDispatcher(url)则与sendRedirect不同:url=”example”指向相对于当前请求地址的资源,加”/”开头指向web程序根目录下的资源/webapp/example。
servlet-mapping的url:servlet的url通常需要开头加斜杠。比如一个form的action的url=”a”( 因为/a就指向服务器根目录了),与之对应的servlet-mapping的url则为/a。
servlet-mapping的url的匹配方式:
/ex/* : 以斜杠开头,后缀通配符,/ex,/ex/a 都可匹配;
*.do : 通配符*后加点号,后缀名do结尾的,表示以 .do结尾的url都能匹配。如人人网的Home.do就是一例,struts中大量使用 .do和.action的后缀。这个后缀可以是开发者任意设定的,因为它并不指向实际存在的文件,都是用于和servlet或者filter匹配的。
/ex/ :是一种完全匹配,只有url是/ex/时才匹配,/ex ,/ex/a 都不行。
filter-mapping和servlet-mapping是一样的。.
相关文章推荐
- JSP编程,url中加斜杠和不加斜杠的区别(sendredirect,requestdispatcher,servlet,filter)
- Servlet中forward和redirect(sendRedirect)有什么区别以及filter(过滤器)是什么?
- servlet中请求转发(forword)与重定向(sendredirect)的区别
- servlet中请求转发(forwor def9 d)与重定向(sendredirect)的区别
- Servlet之forward、sendRedirect、 include区别与使用
- servlet里的url-pattern和filter的pattern的区别
- JSP编程,url中加斜杠和不加斜杠的区别
- servlet中请求转发(forward)与重定向(sendredirect)的区别
- [Java] HttpServletResponse.sendRedirect()与RequestDispatcher.forward()的区别
- servlet中请求转发(forword)与重定向(sendredirect)的区别
- JSP-Servlet中转发(forward)与重定向(sendRedirect)的区别
- servlet中请求转发(forword)与重定向(sendredirect)的区别
- ServletResponse接口中的sendRedirect()方法和forward()方法的区别
- SERVLET 的两种转向:response.sendRedirect("URL")与request.getDispatcher("URL").forward(request,response);
- servlet中请求转发(forword)与重定向(sendredirect)的区别
- servlet中请求转发(forword)与重定向(sendredirect)的区别
- HttpServletResponse.sendRedirect()与RequestDispatcher.forward()的区别
- servlet中页面重定向(sendRedirect)和请求转发(forward)区别
- 简述request.getRequestDispatcher(url)与response.sendRedirect(url)的区别
- servlet中请求转发(forword)与重定向(sendredirect)的区别