zoukankan      html  css  js  c++  java
  • JSP编程,url中加斜杠和不加斜杠的区别

    JSP编程,url中加斜杠和不加斜杠的区别(sendredirect,requestdispatcher,servlet,filter)

    转自:http://blog.csdn.net/tanyit/article/details/7319372

    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是一样的。.


  • 相关阅读:
    一些python练习题
    爬取某房源网数据
    练习1:定义 is_Even 函数,传一 int 参数,判断是否是偶数,return True;不是,return False
    pycharm中tkinter 不显示窗口
    保护眼睛颜色的RGB数值
    Python study----------class的实例化
    HTML----------STUDY
    Python study----------字典 popitem()
    Python study----------Python搜索路径
    Python study----------第三方module-----chardet(识别编码)
  • 原文地址:https://www.cnblogs.com/gtaxmjld/p/4230482.html
Copyright © 2011-2022 走看看