每日记载内容总结23

1.js知识:

javascript:void(0)  就是一个死链接,什么事情都没做,主要的还是onclick事件
常见的几种链接:

(1).window.open(''url'')

(2).window.location.href="";
自定义函数: <script>
         function openWin(tag,obj)
         {
             obj.target="_blank";
             obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
             obj.click();
         }
        </script>

<a href="javascript:void(0)" onclick="openWin(3,this)">株洲</a>

2.文本框随着内容的输入而变长(ie7以上,firefox,chrome亲测可用)

input输入框随着输入内容的增加而变长
<input   type="text" onkeydown="this.onkeyup();" onkeyup="this.size=(this.value.length>10 ?this.value.length:10);"   size="10">

3.web.xml中url-pattern信息:

用springmvc做项目的时候,把url-pattern写成/导致图片等无法显示,改成*.do一切正常

首先:“/” 与 “/*” 的区别 ::::::
<url-pattern>/</url-pattern>
会匹配到 /login 这种类型的 url ,不会匹配到模式为 *.jsp 这样的后缀型 url
<url-pattern>/*</url-pattern>
会匹配所有 url :路径型的和后缀型的 url( 包括 /login,*.jsp,*.js 和 *.html 等 )

然后是 写法规则和匹配过程:

写法规则:
①完全匹配:以“/”开头,以字母(非“*”)结束
    如:<url-pattern>/test/list.do</url-pattern>
②目录匹配:以“/”开头且以“/*”结尾
   如:<url-pattern>/test/*</url-pattern> 匹配test路径下的所有请求
<url-pattern>/*</url-pattern>
③扩展名匹配:以“*.”开头,以扩展名结束
   如:<url-pattern>*.do</url-pattern>  匹配全部 do 结尾的请求   <url-pattern>*</url-pattern> 不能用 * ,否则报错
④ “/” 用来表明对应的Servlet为应用默认的Servlet。在这种情况下Servlet路径是请求的URI去掉上下文路径并且路径信息为null

匹配过程:
当一个请求发送到servlet容器的时候,容器先会将请求的url减去当前应用上下文的路径作为servlet的映射url,比如我访问的是http://localhost/test/aaa.html,我的应用上下文是test,容器会将http://localhost/test去掉,剩下的/aaa.html部分拿来做servlet的映射匹配。

容器会首先查找完全匹配,如果找不到,再查找目录匹配,如果也找不到,就查找扩展名匹配。如果还没有找到一个servlet,器将尝试为请求的资源使用内容服务,如果应用定义了一个默认servlet,则容器会将请求丢给默认servlet。

如果一个请求匹配多个“目录匹配”,容器会选择最长的匹配。如:servletA的url-pattern为/test/*,而servletB的url-pattern为/test/a/*,此时访问http://localhost/test/a时,容器会选择路径最长的servlet来匹配,也就是这里的servletB。

为什么定义”/*.action”这样一个看起来很正常的匹配会错?因为这个匹配即属于路径映射, 也属于扩展映射,导致容器无法判断。

除了以上配置url来加载图片,也可以在servlet的配置文件中加入 mvc:resources标

<mvc:resources mapping="/javascript/**" location="/static_resources/javascript/"/>    

<mvc:resources mapping="/styles/**" location="/static_resources/css/"/>  

<mvc:resources mapping="/images/**" location="/static_resources/images/"/>

这里可以看到我所有的页面引用到/styles/**的资源都从/static_resources/css里面进行查找。 

mvc:resources 标签就是定义一下不需要经过springMVC处理的resource,mapping就是要匹配的url,location就是resource的位置。

原文地址:https://www.cnblogs.com/cuiyf/p/3362335.html