赞
踩
打开esplise,新建DynamicWeb项目
在src目录下建立Model的package
在package中建立User类
首先创建User类
package Model; public class User { private int id; private String username; @Override public String toString() { return "User [id=" + id + ", username=" + username + ", password=" + password + "]"; } public User() { super(); } public User(int id, String username, String password) { super(); this.id = id; this.username = username; this.password = password; } private String password; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
配置web.xml,在WEB-INF下面如果没有请创建在这里插入代码片
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0"> <display-name>day8</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <!-- 配置前端过滤器 --> <servlet-name>springmvc</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <!-- 初始化时加载配置文件 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc-config.xml</param-value> </init-param> <!-- 表示容器在启动时立即加载Servlet --> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
建立登录界面login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="/day8/toLogin"> 用户名:<input type="text" name="username"><br/> 密码:<input type="text" name="password"><br/> <input type="submit" value="注册"> <br/>${msg} </form> </body> </html>
登录之后的界面index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <center> 当前用户:${user_session.username} <br> <a href="/day8/Logout">退出登录</a> </center> </body> </html>
Controller控制器UserController,新建controller的package
package controller; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import Model.User; @Controller public class UserController { @RequestMapping("/index") public String toIndex() { return "index"; } @RequestMapping("/toLogin") public String toLogin(User user,Model model,HttpSession session) { // //拿用户名和密码 String username=user.getUsername(); String password=user.getPassword(); //判断用户名和密码是否真确 if(username!=null&&username.equals("admin")) if(password!=null&&password.equals("1")) //用户信息真确,在session放入数据 { session.setAttribute("user_session", user); return "index"; } model.addAttribute("msg","应户名或者密码出错误"); return "login"; } @RequestMapping("/login") public String login() { return "index"; } //用户登录 @RequestMapping("/Logout") public String logout(HttpSession session) { session.invalidate(); return "login"; } }
新建package,名字为Interceptor,建立 拦截器logininterceptor.java
package controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView; import Model.User; public class logininterceptor implements HandlerInterceptor { @Override public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3) throws Exception { // TODO Auto-generated method stub } @Override public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3) throws Exception { // TODO Auto-generated method stub } @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception { // TODO Auto-generated method stub //得到当前请求url String url=request.getRequestURI(); //对登录跳转路径和登录处理路径发行 if(url.indexOf("/toLogin")>0||url.indexOf("/login")>0) { return true; } HttpSession session=request.getSession(); session.getAttribute("user_session"); User user=(User)session.getAttribute("user_session"); if(user!=null) { return true; } request.setAttribute("msg", "plesae denglu"); //登录着不存在,跳转到登录界面 request.getRequestDispatcher("/WIN-INF/index.jsp").forward(request, response); return false; } }
最后配置文件springmvc-config.xml在scr目录下
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd"> <!-- 定义组件扫描器,指定需要扫描的包 --> <context:component-scan base-package="controller" /> <!-- 定义视图解析器 --> <bean id="viewResolver" class= "org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 设置前缀 --> <property name="prefix" value="/WEB-INF/" /> <!-- 设置后缀 --> <property name="suffix" value=".jsp" /> </bean> <!-- 配置拦截器 --> <mvc:interceptors> <!--使用bean直接定义在<mvc:interceptors>下面的拦截器将拦截所有请求--> <!-- 拦截器1 --> <!-- 拦截器1 --> <mvc:interceptor> <!-- 配置拦截器作用的路径 --> <mvc:interceptor> <mvc:mapping path="/**" /> <!-- 定义在<mvc:interceptor>下面的表示匹配指定路径的请求才进行拦截的 --> <bean class="interceptor".logininterceptor" /> </mvc:interceptor> </mvc:interceptors> </beans>
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。