实现一个spring 的登陆事例
1.在eclipse下新建动态网页工程springmvc
2.需要导入jar包.
aopalliance.jar;commons-beanutils.jar;commons-collections.jar;commons-dbcp.jar;commons-digester.jar;
commons-lang.jar;commons-logging.jar;commons-pool.jar;commons-validator.jar;freemarker.jar;jaxen-1.1-beta-7.jar;
jstl.jar;junit.jar;log4j-1.2.13.jar;servlet-api.jar;spring.jar;spring-aspects.jar;spring-mock.jar;spring-web.jar
standard.jar;xalan.jar;xercesImpl.jar;xml-apis.jar
3.修改web.xml
<?
xmlversion="1.0"encoding="UTF-8"
?>
<
web-app
id
="WebApp_ID"
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/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
<
display-name
>
springmvc
</
display-name
>
<
servlet
>
<
servlet-name
>
Dispatcher
</
servlet-name
>
<
servlet-class
>
org.springframework.web.servlet.DispatcherServlet
</
servlet-class
>

<
init-param
>
<
param-name
>
contextConfigLocation
</
param-name
>
<
param-value
>
/WEB-INF/Config.xml
</
param-value
>
</
init-param
>
</
servlet
>

<
servlet-mapping
>
<
servlet-name
>
Dispatcher
</
servlet-name
>
<
url-pattern
>
*.do
</
url-pattern
>
</
servlet-mapping
>

<
jsp-config
>
<
taglib
>
<
taglib-uri
>
http://java.sun.com/jstl/core_rt
</
taglib-uri
>
<
taglib-location
>
/WEB-INF/tlds/c.tld
</
taglib-location
>
</
taglib
>
</
jsp-config
>
</
web-app
>
其中jsp-config 定义引用
c.tld标签,所以需要在
WEB-INF目录下新建tlds目录后拷贝c.tld到tlds目录下.
4.对应 < param-value > /WEB-INF/Config.xml </ param-value >在WEB-INF下新建Config.xml
<?
xmlversion="1.0"encoding="UTF-8"
?>
<!
DOCTYPEbeansPUBLIC"-//SPRING//DTDBEAN//EN""http://www.springframework.org/dtd/spring-beans.dtd"
>

<
beans
>
<
bean
id
="viewResolver"
class
="org.springframework.web.servlet.view.InternalResourceViewResolver"
>
<
property
name
="viewClass"
>
<
value
>
org.springframework.web.servlet.view.JstlView
</
value
>
</
property
>

<
property
name
="prefix"
>
<
value
>
/WEB-INF/view/
</
value
>
</
property
>

<
property
name
="suffix"
>
<
value
>
.ftl
</
value
>
</
property
>

</
bean
>


<
bean
id
="urlMapping"
class
="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"
>
<
property
name
="mappings"
>
<
props
>
<
prop
key
="/login.do"
>
LoginAction
</
prop
>
</
props
>
</
property
>
</
bean
>

<
bean
id
="LoginAction"
class
="net.oscar.action.LoginAction"
>
<
property
name
="commandClass"
>
<
value
>
net.oscar.action.LoginInfo
</
value
>
</
property
>

<
property
name
="fail_view"
>
<
value
>
loginfail
</
value
>
</
property
>

<
property
name
="success_view"
>
<
value
>
main
</
value
>
</
property
>
</
bean
>
</
beans
>
5.在工程的src下新建Config.xml用到的 net.oscar.action.LoginAction和 net.oscar.action.LoginInfo的类
package
net.oscar.action;


public
class
LoginInfo
...
{
privateStringusername;
privateStringpassword;

publicStringgetUsername()...{
returnusername;
}

publicvoidsetUsername(Stringusername)...{
this.username=username;
}

publicStringgetPassword()...{
returnpassword;
}

publicvoidsetPassword(Stringpassword)...{
this.password=password;
}
}
package
net.oscar.action;

import
java.util.HashMap;
import
java.util.LinkedList;
import
java.util.List;

import
org.springframework.validation.BindException;
import
org.springframework.web.servlet.ModelAndView;
import
org.springframework.web.servlet.mvc.SimpleFormController;


public
class
LoginAction
extends
SimpleFormController
...
{
privateStringfail_view;
privateStringsuccess_view;


protectedModelAndViewonSubmit(Objectcmd,BindExceptionex)throwsException...{
LoginInfologinInfo=(LoginInfo)cmd;

if(login(loginInfo)==0)...{
HashMapresult_map=newHashMap();
result_map.put("logininfo",loginInfo);

ListmsgList=newLinkedList();
msgList.add("msg1");
msgList.add("msg2");
msgList.add("msg3");
result_map.put("messages",msgList);

returnnewModelAndView(this.getSuccess_view(),result_map);

}else...{
returnnewModelAndView(this.getFail_view());
}

}


privateintlogin(LoginInfologinInfo)...{

if("oscar".equalsIgnoreCase(loginInfo.getUsername())&&"123456".equals(loginInfo.getPassword()))...{
return0;
}
return1;

}

publicStringgetFail_view()...{
returnfail_view;
}

publicvoidsetFail_view(Stringfail_view)...{
this.fail_view=fail_view;
}

publicStringgetSuccess_view()...{
returnsuccess_view;
}

publicvoidsetSuccess_view(Stringsuccess_view)...{
this.success_view=success_view;
}
}
6.改动index.html文件(在WebContent目录下)
<!
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"
>
<
html
>
<
head
>

<
title
>
Inserttitlehere
</
title
>
</
head
>
<
body
>
<
form
method
="post"
action
="login.do"
>
<
p
align
="center"
>
登录
</
p
>
<
br
>
用户名:
<
input
type
="text"
name
="username"
>
<
br
>
密
码:
<
input
type
="password"
name
="password"
>
<
br
>
<
p
>
<
input
type
="submit"
value
="提交"
name
="B1"
>
<
input
type
="reset"
value
="重置"
name
="B2"
>
</
p
>
</
form
>
</
body
>
</
html
>
7.在WEB-INF下新建view目录用于存放jsp文件,loginfail.jsp和main.jsp
main.jsp
<%
...
@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
%>

<%
...
@taglibprefix="c"uri="http://java.sun.com/jstl/core_rt"
%>

<
html
>
<
head
>


</
head
>
<
body
>
<
p
>
LoginSuccess!!!
</
p
>

<
p
>
CurrentUser:
<
c:out
value
="${logininfo.username}"
/><
br
>
</
p
>

<
p
>
YourCurrentmessages:
</
p
>
<
c:forEach
items
="${messages}"
var
="item"
begin
="0"
end
="9"
step
="1"
varStatus
="var"
>
<
c:if
test
="${var.index%2==0}"
>
*
</
c:if
>
${item}
<
br
>
</
c:forEach
>
</
body
>
</
html
>
loginfail.jsp
<%
...
@pagelanguage="java"contentType="text/html;charset=ISO-8859-1"
pageEncoding="ISO-8859-1"
%>
<!
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"
>
<
html
>
<
head
>
<
meta
http-equiv
="Content-Type"
content
="text/html;charset=ISO-8859-1"
>
<
title
>
Inserttitlehere
</
title
>
</
head
>
<
body
>
Loginfail!
</
body
>
</
html
>
大功告成!在index.html中输入用户名:oscar 密码:123456就可以登陆了.
1.在eclipse下新建动态网页工程springmvc
2.需要导入jar包.
aopalliance.jar;commons-beanutils.jar;commons-collections.jar;commons-dbcp.jar;commons-digester.jar;
commons-lang.jar;commons-logging.jar;commons-pool.jar;commons-validator.jar;freemarker.jar;jaxen-1.1-beta-7.jar;
jstl.jar;junit.jar;log4j-1.2.13.jar;servlet-api.jar;spring.jar;spring-aspects.jar;spring-mock.jar;spring-web.jar
standard.jar;xalan.jar;xercesImpl.jar;xml-apis.jar
3.修改web.xml



























4.对应 < param-value > /WEB-INF/Config.xml </ param-value >在WEB-INF下新建Config.xml
















































5.在工程的src下新建Config.xml用到的 net.oscar.action.LoginAction和 net.oscar.action.LoginInfo的类
























































































6.改动index.html文件(在WebContent目录下)























main.jsp













































大功告成!在index.html中输入用户名:oscar 密码:123456就可以登陆了.
