Spring Boot设置匹配指定后缀*.action *.do的路径

传统的xml配置方式

<!--Spring MVC 配置-->
<servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:conf/spring-mvc.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>*.action</url-pattern>
</servlet-mapping>

 

Spring Boot配置方式

@Configuration
public class MyWebMvcConfigurer implements WebMvcConfigurer {

    @Override
    public void configurePathMatch(PathMatchConfigurer configurer) {
        //开启路径后缀匹配
        configurer.setUseRegisteredSuffixPatternMatch(true);
    }
}
@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    /**
     * 设置匹配*.action后缀请求
     * @param dispatcherServlet
     * @return
     */
    @Bean
    public ServletRegistrationBean servletRegistrationBean(DispatcherServlet dispatcherServlet) {
        ServletRegistrationBean<DispatcherServlet> servletServletRegistrationBean = new ServletRegistrationBean<>(dispatcherServlet);
        servletServletRegistrationBean.addUrlMappings("*.action");
        return servletServletRegistrationBean;
    }

}

 

好的,我会根据您的问题提供代码和配置文件。以下是在基于Spring MVC、Gradle和JPA的工程中实现拦截器的代码和配置文件。 首先,您需要实现一个拦截器类,用于检查用户名后缀是否为“r”。如果是,允许访问/sec/**下的所有action,否则拒绝访问。 ```java import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class UserInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String username = request.getRemoteUser(); // 获取用户姓名 if (username.endsWith("r")) { // 判断用户名后缀是否为r return true; // 允许访问 } else { response.setStatus(HttpServletResponse.SC_FORBIDDEN); // 拒绝访问 return false; } } } ``` 接下来,在Spring配置文件中添加以下内容,注册刚刚实现的拦截器。 ```xml <mvc:interceptors> <bean id="userInterceptor" class="com.example.UserInterceptor" /> </mvc:interceptors> ``` 最后,您需要添加一些配置文件,使Spring MVC能够使用Gradle和JPA。您可以在build.gradle文件中添加以下内容,以使用Gradle构建: ``` plugins { id 'org.springframework.boot' version '2.5.5' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } dependencies { implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-security' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' runtimeOnly 'com.h2database:h2' testImplementation 'org.springframework.boot:spring-boot-starter-test' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } test { useJUnitPlatform() } ``` 如果您还没有创建jpa.properties文件,则需要创建一个,并在其中添加以下内容,以使用JPA: ``` spring.datasource.url=jdbc:h2:mem:test spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.jpa.hibernate.ddl-auto=create-drop spring.jpa.show-sql=true ``` 这就是在基于Spring MVC、Gradle和JPA的工程中实现拦截器所需的全部代码和配置文件。请注意,这只是一个示例,并不一定适用于所有情况。您可能需要根据您的特定要求进行修改。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值