spring mvc 配置servlet 時 url-pattern 為什麼配置 /* 不可以 而配置 / 則沒問題呢
阿新 • • 發佈:2019-02-16
我幫忙解答下吧
1、在tomcat\conf\web.xml中定義了
- <servlet>
- <servlet-name>default</servlet-name>
- <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
-
<param-value>0
- </init-param>
- <init-param>
- <param-name>listings</param-name>
- <param-value>false</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
<!-- The mapping for the default servlet -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
即預設的,作用是如果,其主要作用就是如果過來的請求是如html/css/js等靜態資源時 讀取流返回。
另外還一個類似的攔截所有*.jsp的
Java程式碼
- <servlet>
-
<servlet-name>jsp</servlet-name>
- <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
- <init-param>
- <param-name>fork</param-name>
- <param-value>false</param-value>
- </init-param>
- <init-param>
- <param-name>xpoweredBy</param-name>
- <param-value>false</param-value>
- </init-param>
- <load-on-startup>3</load-on-startup>
- </servlet>
<!-- The mapping for the JSP servlet -->
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>
如果springmvc攔截的是/ 即替換掉了預設的,那麼這個時候我們可以使用如
<mvc:default-servlet-handler/> ---->委託給那個default
<!-- 靜態資源對映 -->
<mvc:resources mapping="/images/**" location="/WEB-INF/images/" />
see http://jinnianshilongnian.iteye.com/blog/1423971
進行靜態資源的隨意映射了。
我幫忙解答下吧
1、在tomcat\conf\web.xml中定義了
- <servlet>
- <servlet-name>default</servlet-name>
- <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
- <init-param>
- <param-name>debug</param-name>
- <param-value>0</param-value>
- </init-param>
- <init-param>
- <param-name>listings</param-name>
- <param-value>false</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
<!-- The mapping for the default servlet -->
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
即預設的,作用是如果,其主要作用就是如果過來的請求是如html/css/js等靜態資源時 讀取流返回。
另外還一個類似的攔截所有*.jsp的
Java程式碼
- <servlet>
- <servlet-name>jsp</servlet-name>
- <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
- <init-param>
- <param-name>fork</param-name>
- <param-value>false</param-value>
- </init-param>
- <init-param>
- <param-name>xpoweredBy</param-name>
- <param-value>false</param-value>
- </init-param>
- <load-on-startup>3</load-on-startup>
- </servlet>
<!-- The mapping for the JSP servlet -->
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jspx</url-pattern>
</servlet-mapping>
如果springmvc攔截的是/ 即替換掉了預設的,那麼這個時候我們可以使用如
<mvc:default-servlet-handler/> ---->委託給那個default
<!-- 靜態資源對映 -->
<mvc:resources mapping="/images/**" location="/WEB-INF/images/" />
see http://jinnianshilongnian.iteye.com/blog/1423971
進行靜態資源的隨意映射了。