用户登录很简单,一个get类型请求给用户返回一个登录界面,然后接受用户的登录数据,如果没错则将用户跳转到WEB-INF/jsp/user/list.jsp界面。
@RequestMapping(value="/login",method=RequestMethod.GET)
public String login(){
return "login";
}
@RequestMapping(value="/login",method=RequestMethod.POST)
public String login(String username, String password, HttpSession session){
if(!users.containsKey(username)){
throw new UserException("用户名不存在");
}
User u=users.get(username);
if(!u.getPassword().equals(password)){
throw new UserException("用户密码不正确");
}
session.setAttribute(username, u);
return "redirect:/user/users";
}
这里主要讲异常处理。
首先讲
局部异常处理。
1. 在UserController下加入以下方法:
//局部异常处理,只能处理这个控制器中的异常.
@ExceptionHandler(value={UserException.class})
public String handlerException(UserException ue,HttpServletRequest req){
req.setAttribute("exception", ue);
return "error";
}
2.在WEB-INF/jsp下创建error.jsp文件
<body>
<h1>${exception.message}</h1>
</body>
此时用户访问所产生的内部异常将不会抛出我们平时所见的exception stack,而是返回给用户error.jsp页面,并告知用户异常信息。
error.jsp这个页面我们就可以让美工自由发挥了。 -O-
接下来是
全局异常处理
在hello-servlet.xml中加入:
<bean class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
<!--这里必须要写SimpleMappingExceptionResolver里的元素名称:private Properties exceptionMappings; -->
<property name="exceptionMappings">
<props>
<!-- 要映射的异常类 -->
<prop key="com.lj.model.UserException">error</prop>
</props>
</property>
</bean>
加入全局异常以后,任何控制器里抛出的UserException都会被SpringMVC捕获并将页面跳转到WEB-INF/jsp/error.jsp页面。
对应的异常对象是exception.
静态文件
由于SpringMVC通过设置web.xml的servlet,捕获了所有路径。
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
这样一来,客户端就不能访问到css,jpg等文件。
因此必须采取相应的配置才能让用户访问这些文件。
在hello-servlet.xml中加入:
<!-- 将静态文件制定到某个特殊的文件夹中统一处理 -->
<mvc:resources location="/resources/" mapping="/resources/**"/>
这样我们只要在webroot目录下创建一个resources目录,再将所有文件放入此目录,通过<%=path%>/resources/filename就可以访问了。
分享到:
相关推荐
在深入分析SpringMVC时,会发现它的一个重要特性是能够处理静态资源,比如图片、JavaScript文件和CSS样式表。SpringMVC默认情况下允许请求被发送到DispatcherServlet,这样可以确保静态资源的访问。此外,...
在"SpringMVC入门很简单之HelloWorld"这个主题中,我们将探讨如何设置一个基本的SpringMVC项目并实现简单的"Hello, World!"展示。 首先,项目结构至关重要。在给定的文件名称列表中,我们看到了几个关键目录: 1. ...
以上就是SpringMVC入门的基础知识点。通过上述步骤,我们可以构建一个简单的SpringMVC应用程序,实现基本的请求处理和视图渲染功能。随着对SpringMVC的深入了解,可以进一步学习其高级特性,如数据绑定、拦截器、...
七、spring mvc 如何访问到静态的文件,如jpg,js,css 八、spring mvc 请求如何映射到具体的Action中的方法 九、 spring mvc 中的拦截器: 十、 spring mvc 如何使用拦截器 十一、 spring mvc 如何实现全局的异常处理...
静态资源处理:** SpringMVC允许通过配置静态资源处理器(如`<mvc:resources>`)直接访问静态资源,如CSS、JS、图片等。 **4. 异常处理:** 可以通过配置异常处理器(如`@ExceptionHandler`注解)统一处理全局异常...
SpringMVC 提供了丰富的功能,如依赖注入、数据绑定、异常处理等,使得开发人员能够更高效地开发和维护 Web 应用。本文将深入探讨 SpringMVC 的基本概念、配置以及如何创建一个简单的入门程序。 1. **SpringMVC ...
- 访问静态资源:通过配置,Spring MVC可以处理静态文件(如jpg、js、css)的请求。 - 请求映射到具体方法:通过@RequestMapping注解,我们可以将HTTP请求映射到特定的Controller方法。 - 拦截器:使用@...
2. springmvc-servlet.xml配置文件说明:这个配置文件中需要定义组件扫描、静态资源处理、注解驱动以及视图解析器等信息。 - 组件扫描(component-scan):指定SpringMVC需要管理的包路径,它会自动扫描这些路径...
SpringMVC笔记涉及了SpringMVC框架的全面知识,从基础入门到高级应用,内容丰富涵盖了架构原理、组件配置、处理器映射器和适配器的配置、视图解析、源码分析、整合MyBatis、参数绑定与校验、异常处理、RESTful支持...
访问静态文件部分将介绍如何在SpringMVC中配置和处理静态资源,例如图片(jpg)、JavaScript文件(js)、CSS样式表(css)等。 请求映射是SpringMVC中将用户请求映射到控制器中的方法的过程。这部分将详细讲解如何...
本文将详细介绍SpringMVC项目的搭建过程,帮助开发者快速入门。 首先,我们需要理解SpringMVC的核心概念。SpringMVC采用Model-View-Controller(MVC)设计模式,将业务逻辑、数据和用户界面进行分离,提高了代码的...
SpringMVC和Hibernate是两种非常重要的Java Web...同时,它也会涉及到事务管理、异常处理等关键点。此外,通过阅读和运行这个项目,新手还能掌握Maven或Gradle等构建工具的使用,以及如何在IDE中调试和测试Web应用。
2. **Controller**:控制器接口或其注解驱动的实现(如`@Controller`),处理用户请求并返回模型数据。 3. **Model**:模型对象,包含应用程序数据,通常由业务层创建。 4. **View**:视图解析器根据模型数据渲染...
在这一章,文档会讨论SpringMVC如何处理运行时异常,包括自定义异常处理器和全局异常处理。此外,可能还会涉及到HTTP状态码和错误页面的配置。 第十章《约定大于配置》: 本章可能涉及SpringMVC的“约定优于配置”...
在该类中,你可以定义处理用户请求的方法,如注册用户、登录等。这些方法通常会使用 `@RequestMapping` 注解来指定 URL 映射。例如,注册用户的请求可以映射为 `/register`。 4. **模型与视图** 在 Controller ...
### Spring MVC 快速入门深入分析 #### 一、Spring MVC 概述 Spring MVC 是 Spring Framework 的一个重要模块,主要用于构建 Web 应用程序。它遵循 MVC(Model-View-Controller)设计模式,将应用程序的不同关注点...
七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc 请求如何映射到具体的Action中的方法? 九、spring mvc 中的拦截器: 十、spring mvc 如何使用拦截器? 十一、spring mvc 如何实现全局的异常...
7. 静态资源访问:SpringMVC需要配置静态资源的映射,以便能够正确地处理对静态资源如图片、JavaScript文件、CSS文件的请求。 8. 请求映射到Action方法:介绍了如何通过@RequestMapping注解将HTTP请求映射到控制器...
在本"springmvc—demo"项目中,你将找到一个简单的Spring MVC入门程序,这个程序是在IntelliJ IDEA集成开发环境下创建的。下面我们将详细探讨Spring MVC的核心概念以及如何使用IDEA来搭建和运行此类项目。 1. **...
七、spring mvc 如何访问到静态的文件,如jpg,js,css? 八、spring mvc 请求如何映射到具体的Action中的方法? 九、spring mvc 中的拦截器: 十、spring mvc 如何使用拦截器? 十一、spring mvc 如何实现全局的异常...