<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    愛睡覺的小耗子
    ——等待飄雪的日子...努力,努力,再努力!
    posts - 9,  comments - 33,  trackbacks - 0

       剛接觸struts不久,公司又要我學spring,然后把兩者結合起來用。于是我在網上找了很多的有關struts+spring的例子,但基本上都是struts+spring+hibernate的,而我們公司不用hibernate。后來,我就在struts的基本上,再學習怎么把spring加入的例子,然后根據它的原理重新編寫一本書上用struts實現的例子。

    一、運行環境

    1、eclipse-SDK-3.2

    2、MyEclipse GA5.0

    3、apache-tomcat-5.5.20

    4、Strust1.2

    5、Spring1.2

    二、該工程所需文件

    1、index.jsp

    2login.jsp

    3、reinput_blank.jsp

    4、reinput_error.jsp

    5、success.jsp

    6、LoginActio.java

    7、LoginForm.java

    8struts-config.xml

    9、applicationContext.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.jsp,Finish;

     輸入以下代碼

     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.jsp,Finish;

     輸入以下代碼

     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.jsp,Finish;

     輸入以下代碼

     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.jsp,Finish;

     輸入以下代碼

     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.jsp,Finish;

     輸入以下代碼
     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.java,Finish;

     輸入以下代碼

     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的時候。

    posted on 2007-11-23 10:41 Harriet 閱讀(4315) 評論(9)  編輯  收藏 所屬分類: Struts+Spring

    FeedBack:
    # re: 自己編寫的一個用struts+spring實現的登陸實例
    2007-11-23 17:10 | 支持
    我運行成功的,但是spring里面的message沒有注射成功,頁面顯示是nullsuccess! 樓主能幫忙看一下么?  回復  更多評論
      
    # re: 自己編寫的一個用struts+spring實現的登陸實例
    2007-11-23 17:20 | Harriet
    @支持
    你看一下你的LoginAction.jsp有沒有錯?LoginAction.jsp里定義的message就是用來從applicationContext.xml中的bean取參的。
    applicationContext.xml中的property name值要為message
    你都對了嗎  回復  更多評論
      
    # re: 自己編寫的一個用struts+spring實現的登陸實例
    2007-11-23 17:32 | 支持
    這些都對了,并且自己寫個類讀取applicationContext.xml的內容也沒有問題
    public static void main(String args[]) {
    BeanFactory factory = new XmlBeanFactory(new ClassPathResource("Test/applicationContext.xml"));
    LoginAction login = (LoginAction) factory.getBean("login");
    System.out.println(login.getMessage() + "");
    }
    以前寫的spring都是用main運行的,從來沒有在網頁上運行過,這回有問題了  回復  更多評論
      
    # re: 自己編寫的一個用struts+spring實現的登陸實例
    2007-11-23 17:43 | Harriet
    @支持
    如果你是原封不動地copy代碼過去的話,應該是沒問題的。
    如果還有改的話,呵呵,我是struts和spring的初學者,可能有點難度哦~一起探討吧  回復  更多評論
      
    # re: 自己編寫的一個用struts+spring實現的登陸實例
    2008-03-24 09:18 | 石雨亭
    http://localhost:8080/wess/login
    HTTP Status 404 - /wess/login

    --------------------------------------------------------------------------------

    type Status report

    message /wess/login

    description The requested resource (/wess/login) is not available.


    --------------------------------------------------------------------------------

    Apache Tomcat/5.5.17  回復  更多評論
      
    # re: 自己編寫的一個用struts+spring實現的登陸實例
    2008-03-24 11:56 | 石雨亭
    aaaaaa  回復  更多評論
      
    # re: 自己編寫的一個用struts+spring實現的登陸實例
    2008-03-24 11:59 | 石雨亭
    有沒有原文件啊!我這里怎么調都是錯的.555~~~~~~~~~`404錯誤,500錯誤!  回復  更多評論
      
    # re: 自己編寫的一個用struts+spring實現的登陸實例[未登錄]
    2008-03-25 16:05 | 1
    樓主不覺得Spring沒有什么用嗎?  回復  更多評論
      
    # re: 自己編寫的一個用struts+spring實現的登陸實例
    2008-09-06 07:08 | msn:gmingsoft04@hotmail.com
    <input type="reset" name="submit2" value="reset" onclick="deleteAllMessage()">
    請問下:onclick="deleteAllMessage(),這個函數在哪里定義的?
    好象你的原意是寫個JavaScript,來清空輸入攔吧  回復  更多評論
      

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    公 告

    心要沉下去,思緒才會浮上來,水平也就上來了


    <2007年11月>
    28293031123
    45678910
    11121314151617
    18192021222324
    2526272829301
    2345678

    常用鏈接

    留言簿(2)

    隨筆分類

    隨筆檔案

    文章檔案

    相冊

    搜索

    •  

    積分與排名

    • 積分 - 86220
    • 排名 - 669

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 西西大胆无码视频免费| 亚洲精品99久久久久中文字幕| 亚洲最大福利视频| 丁香亚洲综合五月天婷婷| 99在线免费视频| 亚洲一线产区二线产区区| 亚洲精品无码鲁网中文电影| 妻子5免费完整高清电视| 免费视频成人国产精品网站| 亚洲日韩在线视频| 亚洲国产精品成人AV无码久久综合影院 | 亚洲伊人久久综合影院| 亚洲视频在线免费看| 高潮毛片无遮挡高清免费| 久久久久亚洲AV无码专区体验| 波多野结衣免费视频观看| 天天影院成人免费观看| 色爽黄1000部免费软件下载| 亚洲精品成人久久| 亚洲精品无码精品mV在线观看| 在线免费观看一级毛片| 性xxxx视频免费播放直播| 人人爽人人爽人人片A免费| 久久久久se色偷偷亚洲精品av | 亚洲国产美国国产综合一区二区| 最新猫咪www免费人成| 久久久久国产免费| 伊人久久国产免费观看视频| 国产亚洲国产bv网站在线| 亚洲AV综合色区无码另类小说| 日韩精品免费一区二区三区| 精品国产免费人成电影在线观看| 两性色午夜免费视频| 精品久久久久久亚洲综合网| 亚洲人成在线精品| 国产A在亚洲线播放| 亚洲高清最新av网站| 国产精品公开免费视频| 无码中文在线二区免费| 永久看日本大片免费35分钟| 久久久精品免费国产四虎|