自己编写的一个用struts+spring实现的登陆实例[转]

自己编写的一个用struts+spring实现的登陆实例[转]

 刚接触struts 不久,公司又要我学spring ,然后把两者结合起来用。于是我在网上找了很多的有关struts+spring 的例子,但基本上都是struts+spring+hibernate 的,而我们公司不用hibernate 。后来,我就在struts 的基本上,再学习怎么把spring 加入的例子,然后根据它的原理重新编写一本书上用struts 实现的例子。

一、运行环境

1eclipse-SDK-3.2

2MyEclipse GA5.0

3apache-tomcat-5.5.20

4Strust1.2

5Spring1.2

二、该工程所需文件

1index.jsp

2login.jsp

3reinput_blank.jsp

4reinput_error.jsp

5success.jsp

6LoginActio.java

7LoginForm.java

8struts-config.xml

9applicationContext.xml

三、步骤

1、建工程

   创建一个名为Welcome_SSWeb Project

   File -> New -> Project -> Web Project , “next” Project Name”Welcome_SS” ,“finish”;

2、导入struts

   选择Welcome_SS工程,右键->Myeclipse (或选菜单栏上Myeclipse) -> Add struts Capabilities……,选择struts1.2,然后finish;

3、导入spring

   选择Welcome_SS工程,右键->Myeclipse (或选菜单栏上Myeclipse) -> Add spring Capabilities……,在默认基础上,再选择Spring 1.2 AOP Libraries - <MyEclipse-Library>Spring 1.2 Web Libraries - <MyEclipse-Library>,然后finish;

(为什么要选这两个,我也还没有弄清楚)

注:可能还要在lib文件夹下加几个spring包,
spring.jar,
spring-1.2.6.jar,
spring-aop.jar,
spring-beans.jar,
spring-context.jar,
spring-core.jar,
spring-orm.jar,
spring-remoting.jar,
spring-support.jar,
spring-web.jar,
spring-webmvc.jar

4、编写代码(页面及其所需的类)

Ø         index.jsp

选择Welcome_SS工程下的WebRoot -> New -> JSP,取名为index.jspFinish;

 输入以下代码

 

 1 
 2  <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 3  < html >
 4     < head >    
 5       <!-- <link rel="stylesheet" type="text/css" href="./styles.css"> -->
 6     </ head >   
 7     < body >< div  align ="center" >  
 8      Welcome here! < br > . < href ="login.jsp" > sign in </ a ></ div >  
 9     </ body >
10  </ html >
11 

Ø         login.jsp

选择Welcome_SS工程下的WebRoot -> New -> JSP,取名为login.jspFinish;

 输入以下代码

 

 1  <% @ page contentType = " text/html;charset=gb2312 " %>
 2  <% @ page import = " java.util.*,java.sql.*,java.text.*,java.io.* " %>
 3 
 4  < html >
 5  < body >
 6  < div  align ="center" >< form  name ="form1"  method ="post"  action ="login.do" >  
 7  Welcome Here!  < br >< br >
 8  username: < input  type ="text"  name ="username" >< br >  
 9  password: < input  type ="text"  name ="password" >< br >  
10  < input  type ="submit"  name ="submit1"  value ="submit" >
11  < input  type ="reset"   name ="submit2"  value ="reset"  onclick ="deleteAllMessage()" >< br >
12  </ form ></ div >
13  </ body >
14  </ html >

Ø         reinput_blank.jsp

选择Welcome_SS工程下的WebRoot -> New -> JSP,取名为reinput_blank.jspFinish;

 输入以下代码

 

 1  <% @ page language = " java "  import = " java.util.* "  pageEncoding = " utf-8 " %>
 2 
 3  <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 4  < html >
 5       < body >
 6      < div  align ="center" >< form  name ="form1"  method ="post"  action ="login.do" >< font  color ="#ff0000" > *用户名和密码都不能为空! </ font >< br >< br >
 7      username: < input  type ="text"  name ="username"   >   < br >
 8      password: < input  type ="text"  name ="password"   >   < br >
 9       < input  type ="submit"  name ="submit1"  value ="submit" >
10       < input  type ="reset"  name ="submit2"  value ="reset"  onclick ="deleteAllMessage()" >
11       </ form ></ div >
12       </ body >  
13  </ html >
14 

Ø         reinput_error.jsp

选择Welcome_SS工程下的WebRoot -> New -> JSP,取名为reinput_error.jspFinish;

 输入以下代码

 

 1  <% @ page language = " java "  import = " java.util.* "  pageEncoding = " utf-8 " %>
 2 
 3  <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 4  < html >
 5       < body >
 6      < div  align ="center" >< form  name ="form1"  method ="post"  action ="login.do" >< font  color ="#ff0000" > *用户名或密码不正确! </ font >< br >< br >
 7      username: < input  type ="text"  name ="username"   >   < br >
 8      password: < input  type ="text"  name ="password"   >   < br >
 9       < input  type ="submit"  name ="submit1"  value ="submit" >
10       < input  type ="reset"  name ="submit2"  value ="reset"  onclick ="deleteAllMessage()" >
11       </ form ></ div >
12       </ body >  
13  </ html >
14 

Ø         success.jsp

选择Welcome_SS工程下的WebRoot -> New -> JSP,取名为success.jspFinish;

  输入以下代码
 1  <% @ page language = " java "   pageEncoding = " utf-8 " %>
 2 
 3  <! DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" >
 4  < html >
 5     < head >    
 6       <!-- <link rel="stylesheet" type="text/css" href="./styles.css"> -->
 7     </ head >
 8     < body >
 9       <% = request.getAttribute( " message " ) %> ! < br >
10      . < href ="login.jsp" > sign in </ a >< br >
11      . < href ="index.jsp" > sign out </ a >   
12     </ body >
13  </ html >
14 
15 
Ø         LoginAction.jsp

选择Welcome_SS工程下的src -> com -> yourcompany -> struts下,New->files :action,再在这个文件夹下New->Java,取名为LoginAction.javaFinish;

 输入以下代码

 

 1 
 2  package  com.yourcompany.struts.action;
 3 
 4  import  java.util.Locale;
 5 
 6  import  javax.servlet.http.HttpServletRequest;
 7  import  javax.servlet.http.HttpServletResponse;
 8  import  javax.servlet.http.HttpSession;
 9 
10  import  org.apache.struts.action.Action;
11  import  org.apache.struts.action.ActionForm;
12  import  org.apache.struts.action.ActionForward;
13  import  org.apache.struts.action.ActionMapping;
14  import  org.apache.struts.util.MessageResources;
15 
16  import  com.yourcompany.struts.form.LoginForm;
17 
18  public   class  LoginAction  extends  Action {
19      
20       private  String message;
21      
22       public  String getMessage() {
23           return  message;
24      }
25 
26       public   void  setMessage(String message) {
27           this .message  =  message;
28      }    
29      
30       public  ActionForward execute(ActionMapping mapping,
31              ActionForm form,
32              HttpServletRequest request,
33              HttpServletResponse response)            
34          LoginForm userform  =  (LoginForm) form;        
35           if (userform.getUsername().equals( "" ) || (userform.getPassword().equals( "" ))){
36               return  mapping.findForward( " reinput_blank " );
37          }
38           else   if (userform.getUsername().equals( " success " ) && (userform.getPassword().equals( " success " ))){
39              request.setAttribute( " message " ,getMessage() + userform.getUsername());
40               return  mapping.findForward( " success " );
41          }
42               else {
43                   return  mapping.findForward( " reinput_error " );        
44              }
45          }
46      }
47 

Ø         LoginForm.jsp

选择Welcome_SS工程下的src -> com -> yourcompany -> struts下,New->files :form,再在这个文件夹下New->Java,取名为LoginAction.javaFinish;

 输入以下代码

 

 1 
 2  package  com.yourcompany.struts.form;
 3 
 4  import  javax.servlet.http.HttpServletRequest;
 5  import  org.apache.struts.action.ActionErrors;
 6  import  org.apache.struts.action.ActionForm;
 7  import  org.apache.struts.action.ActionMapping;
 8 
 9  public   class  LoginForm  extends  ActionForm {
10 
11       /**  username property  */
12       private  String username;
13       private  String password;
14       public  String getPassword() {
15           return  password;
16      }
17       public   void  setPassword(String password) {
18           this .password  =  password;
19      }
20       public  String getUsername() {
21           return  username;
22      }
23       public   void  setUsername(String username) {
24           this .username  =  username;
25      }  
26 }

5、根据前一步的代码,进行配置文件的编写(struts-config.xmlapplicationContext.xml

选择Welcome_SS工程下的WebRoot -> WEB-INF -> struts-config.xml

输入下面代码:

 1  <? xml version="1.0" encoding="UTF-8" ?>
 2  <! DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd" >
 3 
 4  < struts-config >
 5     < data-sources  />
 6     < form-beans  >
 7       < form-bean  name ="loginForm"  type ="com.yourcompany.struts.form.LoginForm"   />
 8     </ form-beans >
 9 
10     < global-exceptions  />
11     < global-forwards  />
12     < action-mappings  >
13       < action
14         attribute ="loginForm"
15        input ="/login.jsp"
16        name ="loginForm"
17        path ="/login"
18        scope ="request"
19        type ="org.springframework.web.struts.DelegatingActionProxy" >
20         < forward  name ="success"  path ="/success.jsp"   />
21         < forward  name ="reinput_blank"  path ="/reinput_blank.jsp" />
22         < forward  name ="reinput_error"  path ="/reinput_error.jsp" />
23       </ action >
24 
25     </ action-mappings >
26 
27     < message-resources  parameter ="com.yourcompany.struts.ApplicationResources"   />
28    
29     < plug-in  className ="org.springframework.web.struts.ContextLoaderPlugIn" >
30  < set-property  property ="contextConfigLocation"  value ="/WEB-INF/classes/applicationContext.xml"   />
31  </ plug-in >
32    
33  </ struts-config >
34 
35 

选择Welcome_SS工程下的src -> applicationContext.xml

输入下面代码:

 1  <? xml version="1.0" encoding="UTF-8" ?>
 2  <! DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd" >
 3  < beans >
 4     < bean  name ="/login"  class ="com.yourcompany.struts.action.LoginAction" >
 5     < property  name ="message" >
 6     < value > Welcome_ </ value >
 7     </ property >
 8     </ bean >
 9  </ beans >
10 

6Web Service(这里即Tomcat)布署及启动

(全面的可以参照我的另一篇随笔:Myeclipse中Tomcat的两种布署方式)

a.apache-tomcat-5.5.20"conf下,找到server.xml,打开,在</Host>前面添加一句

 <Context path="/wess" debug="0" docBase="C:\Documents and   Settings\tt\workspace\Welcome_SS\WebRoot" reloadable="true"></Context>

注:C:\Documents and Settings\tt\workspace\Welcome_SS是该工程的存储路径。

b.Myeclipse中的工具栏上找到一个像机箱似形状的按钮,点击,则打开服务器Tomcat.

7、运行
IE 浏览器里输入http://localhost:8080/wess,即可运行!成功登陆的条件是用户名和密码都为success的时候。

你可能感兴趣的:(自己编写的一个用struts+spring实现的登陆实例[转])