相关疑难解决方法(0)

可以将SpringMVC配置为处理所有请求,但排除静态内容目录吗?

如果我映射我的spring应用程序来处理所有传入的请求('/*'),那么对静态内容的请求将返回404.例如,对"myhost.com/css/global.css"的请求将返回404,即使资源存在,因为Spring拦截了请求.

另一种方法是将SpringMVC映射到子目录(例如'/ home/'),但在这种情况下,您必须在应用程序的所有链接中传递此目录.有没有办法将SpringMVC映射到'/ '并从处理中排除一组目录?

我当前的web.xml配置是:

<servlet>
    <servlet-name>springApp</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <load-on-startup>2</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>springApp</servlet-name>
    <url-pattern>/home/*</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

Idealy我希望映射类似于以下内容:

 <servlet-mapping>
    <servlet-name>springApp</servlet-name>
    <url-pattern>/*</url-pattern>
    <exclude>/css/*,/js/*</exclude>
 </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

这类事可能吗?

configuration spring spring-mvc

59
推荐指数
3
解决办法
5万
查看次数

如何配置Spring MVC DispatcherServlet以避免url带有扩展名?

我有一个Spring(4.1.6.RELEASE)MVC项目,其中有一个映射到的控制器/home,但我的问题是它也被调用了类似于/home.html或的路径/home.do

我的配置是:

web.xml:

   <servlet>
      <servlet-name>main</servlet-name>
      <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
      <servlet-name>main</servlet-name>
      <url-pattern>/</url-pattern>
   </servlet-mapping>
Run Code Online (Sandbox Code Playgroud)

main-servlet.xml:

   <mvc:annotation-driven />
   <mvc:resources mapping="/resources/**" location="/resources/" />
   <!-- ... -->
   <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
      <property name="prefix" value="/WEB-INF/jsp/" />
      <property name="suffix" value=".jsp" />
   </bean>
Run Code Online (Sandbox Code Playgroud)

HomeController.java:

@Controller
@RequestMapping({"/", "/home"})
public class HomeController {  
   @RequestMapping(method = RequestMethod.GET)
   public String doGet(Model model) {
        // ...
        return "home";
    }
}
Run Code Online (Sandbox Code Playgroud)

正如类似问题所示:

我尝试添加以下配置:

   <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
      <property name="useDefaultSuffixPattern" value="false" />
   </bean> …
Run Code Online (Sandbox Code Playgroud)

spring web.xml servlets spring-mvc

6
推荐指数
1
解决办法
2275
查看次数

标签 统计

spring ×2

spring-mvc ×2

configuration ×1

servlets ×1

web.xml ×1