通常在springmvc中可以直接通过web.xml配置404自定义的页面,但是缺少灵活性
比如如果需要根据映射地址去跳转到不同的页面,那么则在配置文件就不能满足
也了解过直接改写springmvc抛出异常的方法,但是并没有找到直接跳转自定义404页面的相关方法,最后终于找到了一种简单的,可以直接通过controller层判断的方法
@Controller
public class DefaultHandlerExceptionResolver {
@RequestMapping("/**")
public String noHandleMethod(ModelAndView view, HttpServletRequest request)
{
String url = request.getRequestURI();
int result = url.indexOf("需要判断的含有的代码");
if(result != -1) {
return "jsp-en/error/error";
}
return "jsp/error/error";
}
}
通过url中含有字符串的不同,可以跳转到不同的404页面
具体解析:
springmvc的路径匹配规则
/**代表任意层次
@RequestMapping("/**")
/*代表一层
@RequestMapping("/*")
以上为匹配所有路径
但是为什么我的需求是报404,找不到页面的逻辑用的匹配所有路径呢?
因为springmvc匹配规则是谁更准确匹配谁,/**是springmvc中最不准确的,所以所有存在的路径会被优先匹配到,剩下的则是没有此路径的,这些都将被/**路径下的方法处理。
更具体的springmvc匹配规则:
https://juejin.im/post/5aab5f5cf265da23826dbb18
转载于:https://my.oschina.net/u/3829307/blog/3077352
分享到:
相关推荐
在IT行业中,SpringMVC是Spring框架的一个模块,专门用于构建Web应用程序。...文件"customSpringMVC"可能是该项目的源码或者配置文件,通过分析和学习这些文件,可以进一步了解和实践自定义SpringMVC的技巧。
通过`@Component`和`@Order`注解,我们可以创建自定义的拦截器类,并通过`HandlerInterceptorAdapter`进行扩展。 除此之外,SpringMVC还支持异步处理,使用`@Async`注解可以在后台线程执行耗时操作,提高应用程序的...
Spring MVC可以通过动态生成这样的URL,例如通过`@Webjars`库或自定义拦截器实现。 总结来说,Spring MVC提供了多种方式来管理和优化静态资源的访问,包括自定义静态资源路径、缓存控制、避免与控制器冲突以及性能...
通过这个实践,开发者可以深入学习SpringMVC的内部机制,了解请求处理、依赖注入、AOP(面向切面编程)以及异常处理等关键概念。 【标签】:“java spring springmvc 手写” 1. **Java**:作为主要的编程语言,...
视图名称通常与实际视图资源路径有关,通过配置 `ViewResolver` 可以指定转换规则。 ### 第 6 章 异常处理 SpringMVC 提供了统一的异常处理机制,可以通过 `@ExceptionHandler` 注解定义异常处理器,或配置 `...
在Java开发领域,SpringMVC是一个非常流行的MVC(Model-View-Controller)框架,用于构建Web应用程序。MyBatis则是一个优秀的持久层框架,它提供了灵活的SQL映射和对象关系映射功能,使数据库操作变得更加简单。在这...
- 在SpringMVC的配置文件中,需要将自定义的拦截器添加到`<mvc:interceptors>`标签内,使用`<bean>`标签定义拦截器,并通过`<mvc:interceptor>`标签指定拦截的URL范围。 4. **SpringMVCDemo**: - `SpringMVCDemo...
- **SpringMVC Controller 的拦截器配置**: 在 SpringMVC 的配置中,设置 Shiro 过滤器作为全局拦截器,通过 `@Autowired` 注入 ShiroFilter 实例并配置相关路径。 3. **Shiro 相关概念** - **Subject**: 表示...
SpringMVC内置了数据绑定机制,可以自动将请求参数与Controller方法参数进行匹配。此外,还支持自定义数据绑定逻辑,满足特定的需求。 #### 4. 国际化支持 SpringMVC集成了国际化功能,通过配置不同的资源文件来...
SpringMVC中有多重实现,例如基于注解的`RequestMappingHandlerMapping`,它会扫描类路径下标记了`@Controller`的类,并根据`@RequestMapping`注解来匹配请求。 3. **HandlerAdapter**:处理器适配器,处理控制器...
SpringMVC自定义参数绑定实现详解主要介绍了SpringMVC自定义参数绑定实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。 一、参数绑定过程 在...
在分页场景下,我们需要在Controller层接收用户传递的分页参数,如当前页和每页显示数量,然后调用Service层的方法进行查询。Service层会进一步调用Mybatis的Mapper接口,执行分页查询。返回的数据可以包装成一个...
在实际应用中,可以结合使用这些方法,比如在Controller层处理HTTP请求时使用SpringMVC的注解脱敏,而在日志记录层面利用`Logback`或`Log4j2`的扩展功能进行全局脱敏。 在`desensitization`这个压缩包文件中,可能...
模型是应用的核心业务逻辑部分,它处理数据并将其存储在持久化层。在 Spring MVC 中,模型通常由 Java 对象(称为 beans)表示,这些对象可以通过 Spring 的依赖注入(DI)来管理,以便与其他服务或数据源交互。 **...
Spring MVC 是一个基于 Java 的表现层框架,主要用于处理 Web 应用中的用户界面交互。它是 Spring 框架的一个重要组成部分,旨在简化 MVC(Model-View-Controller)设计模式的实现。Spring MVC 提供了控制器、模型...
通过自定义拦截器,我们可以实现细粒度的权限控制,确保只有拥有相应权限的用户才能访问特定的URL或执行特定的操作。 2. **Mybatis**:Mybatis是一个轻量级的持久层框架,它简化了SQL操作,提供了动态SQL的功能。在...
2. DispatcherServlet 查找 HandlerMapping,找到匹配的 Controller 来处理请求。 3. Controller 执行业务逻辑,返回 ModelAndView。 4. DispatcherServlet 查询 ModelAndView,找到对应的视图。 5. 视图负责渲染...
在后端,我们需要在SpringMVC的Controller中接收前端传递的搜索条件,查询数据库,并返回匹配的结果。这需要编写对应的Service和DAO层代码,可能涉及SQL语句的编写和参数绑定。 在实现弹出模态框功能时,我们通常会...
SpringMVC的核心组件包括DispatcherServlet、Controller、ViewResolver、ModelAndView等。 1. **DispatcherServlet**:它是SpringMVC的前端控制器,负责接收请求并分发到相应的处理器。 2. **Controller**:处理...