1: 以上是项目结构
2:model层
package model;
import java.util.HashMap;
import java.util.Map;
/*********************************
*
* author zhang
*2013-11-20
********************************/
public class Userbean {
private static Map<Integer,String> userinfo = new HashMap();
static{
userinfo.put(1, "zhang");
userinfo.put(2, "wang");
}
/**
* 是否包含该用户
* @param username
* @return
*/
public static boolean exsitUser(String userno){
return userinfo.containsKey(Integer.parseInt(userno));
}
/**
* 判断该用户信息是否正确
* @param userno
* @param username
* @return
*/
public static boolean cofirmUser(Integer userno,String username){
return userinfo.get(userno).equals(username);
}
}
3:controller层
package controler;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import model.Userbean;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
/*********************************
* springMVC登录(配置文件类型的)
* author
*2013-11-20
********************************/
public class LoginController implements Controller{
private String errorPage;
private String successPage;
public String getErrorPage() {
return errorPage;
}
public void setErrorPage(String errorPage) {
this.errorPage = errorPage;
}
public String getSuccessPage() {
return successPage;
}
public void setSuccessPage(String successPage) {
this.successPage = successPage;
}
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String userno = request.getParameter("userno");
String username = request.getParameter("username");
String message = "";
if(userno == "" || username == "" || userno.equals(null) || username.equals(null)){
message = "用户名或者密码为空";
Map<String, String > model = new HashMap<String, String>();
model.put("msg",message);
return new ModelAndView(getErrorPage(), model);
}
if(!Userbean.exsitUser(userno)){
message = username+"不存在";
Map<String, String> model = new HashMap<String, String>();
model.put("msg",message);
return new ModelAndView(getErrorPage(),model);
}
if(!Userbean.cofirmUser(Integer.parseInt(userno), username)){
message = "用户密码不正确";
Map<String, String> model = new HashMap<String, String>();
model.put("msg",message);
return new ModelAndView(getErrorPage(), model);
}
else{
Map<String, String> model = new HashMap<String, String>();
model.put("username", username);
return new ModelAndView(getSuccessPage(), model);
}
}
}
4:applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="login.do">login</prop>
</props>
</property>
</bean>
<bean id="login" class="controler.LoginController">
<property name="errorPage">
<value>error.jsp</value>
</property>
<property name="successPage">
<value>success.jsp</value>
</property>
<!-- <property name="userInfoBean" ref="userInfoBean"></property>-->
</bean>
<!-- <bean id="UserInfoBean" class="com.spring.model.UserInfoBean"> </bean>-->
</beans>
5:web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- spring配置文件的路径 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup><!-- 随tomcat启动而加载 -->
</servlet>
<!-- 拦截所有.do结尾的请求 可修改例如 .jsp等 -->
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
6:login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>login.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="login.do" method="post">
用户编号:<input name="userno"><br>
用户名: <input name="username">
<input type="submit" value="提交">
</form>
</body>
</html>
7:success.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>error.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
欢迎:<%= request.getAttribute("username") %>登录成功!
</body>
</html>
8:error.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>error.jsp</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
对不起,登录失败!<%= request.getAttribute("msg") %>
</body>
</html>