SpringMVC登录案例
来源:互联网 发布:php仿今日头条源码 编辑:程序博客网 时间:2024/06/08 12:36
学习了一周的springMVC
今天搭建一个SpringMVC的登录案例
主要是用来巩固一下拦截器的是使用。
1.首先配置web.xml 配置
主要是配置encodingfilter和dispatcher
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <!--字符集设置--> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>utf-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--调度器配置--> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.form</url-pattern> </servlet-mapping></web-app>
2.配置dispatcher指定的servlet.xml
主要配置拦截器的相关属性
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--指定注解解析的包--> <context:component-scan base-package="com.jsu.controller"/> <!--配置拦截器--> <mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <!-- 指定拦截器的bean --> <bean class="com.jsu.intercepter.LoginIntercepter"> <property name="allowAdress"> <!--允许通过的请求的列表--> <list> <value>login.form</value> <value>add.form</value> </list> </property> </bean> </mvc:interceptor> </mvc:interceptors></beans>
前车之鉴:千万不能使用如下配置不然会无法识别拦截器的拦截名单
<property name="allowAdress"> <!--允许通过的请求的列表--> <list> <value> login.form </value> <value> add.form </value> </list> </property>
3.配置intercepter的类
主要通过实现handlerintercepter接口
public class LoginIntercepter implements HandlerInterceptor { //拦截名单 List<String> allowAdress; public void setAllowAdress(List<String> allowAdress) { this.allowAdress = allowAdress; } /** * 请求方法执行前所执行的方法 * 返回true 则进行拦截 * 否则不进行拦截 */ @Override public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception { //获取请求的路径 String url = httpServletRequest.getRequestURL().toString(); //查看是否已经有请求 Object user = httpServletRequest.getSession().getAttribute("user"); if (user != null){ return true; } for (String temp : allowAdress) { if (url.endsWith(temp)) { return true; } } //重定向到login页面 httpServletResponse.sendRedirect(httpServletRequest.getContextPath()+"/login.jsp"); return false; } @Override public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception { } @Override public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception { }}
4.配置controller类
@Controllerpublic class LoginController { @RequestMapping("/login") public String login(User user,HttpSession session){ //校验 if ("zzz".equals(user.getName())&&"123".equals(user.getPassword())) { session.setAttribute("user", user); return "redirect:index.jsp"; } return "redirect:login.jsp"; } @RequestMapping("/add") public String add(){ System.out.println("add"); return "redirect:index.jsp"; }}
5.配置实体类
public class User{ private String name; private String password; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; }}
6.demo结果
错误结果就重定向到login.jsp页面
0 0
- SpringMVC登录案例
- annotation 注解做springmvc 的登录权限校验案例
- SpringMVC post请求的处理(登录表单案例)
- 登录案例
- 登录案例
- springmvc登录
- springMVC ibatis 整合案例
- springmvc入门案例
- SpringMVC之入门案例
- SpringMVC快速上手案例
- SpringMVC+Mybatis实战案例
- springMvc入门案例
- springmvc+ehcache小案例
- SpringMvc的入门案例
- SpringMVC入门案例
- SpringMVC简单小案例
- springmvc登陆拦截案例
- springmvc 文件上传案例
- Oracle字符集转换
- jstl 中获得session 里面值sessionScope
- ViewPager的onPageScrolled回调不完整
- Android 在代码中控制View的填充方式和宽度、高度
- NYIT 36 最长公共子序列
- SpringMVC登录案例
- 很久没来过了。。。说说现状。聊聊我的域名人生
- layoutSubviews和drawRect:(CGRect)rect的用法探讨
- 机器学习---EM算法(分类)
- 获取进程打开的互斥量
- 微信开发资料收集
- Perl调用shell命令方法小结
- Android调用系统拍照,录音,摄像
- linux0.11编译