国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JSP > 正文

Struts初級(jí)教程(1)-用戶登錄實(shí)例

2024-09-05 00:17:22
字體:
供稿:網(wǎng)友
    本教程從易用,實(shí)用的目的出發(fā),模擬完成實(shí)際開發(fā)中常用的模塊,讓大家能快速上手struts,下面我們正式開式吧。
    Jsp的Struts是一個(gè)基于Sun J2EE平臺(tái)的MVC框架,主要是采用Servlet和JSP技術(shù)來實(shí)現(xiàn)的。
    Struts把Servlet、JSP、自定義標(biāo)簽和信息資源(message resources)整合到一個(gè)統(tǒng)一的框架中,開發(fā)人員利用其進(jìn)行開發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套MVC模式,極大的節(jié)省了時(shí)間。
    本教程主要包括6個(gè)模塊:
   1、登錄驗(yàn)證實(shí)例
   2、解決中文亂碼問題實(shí)例
   3、連數(shù)據(jù)庫(kù)實(shí)例
   4、國(guó)際化
   5、驗(yàn)證數(shù)據(jù)實(shí)例
   6、模塊使用實(shí)例
   7、制作簡(jiǎn)單留言板實(shí)例
    對(duì)struts做由淺入深的介紹,讓大家最終撐握它。

一、普通的登錄驗(yàn)證實(shí)例

我們以結(jié)果為導(dǎo)向,首先大家先看看要完成的效果圖,對(duì)接下來要做的事情有個(gè)清晰的認(rèn)識(shí)。
效果圖:
       1、如圖鍵入:


顯示結(jié)果如下圖:


如果您輸入的是合法的話,則如下圖:


開發(fā)步驟:

A、首先建立一工程,選擇web模塊,最后再加載struts包即可。在工程中新建一包,命名為actions,在下面新建一類文件,命名為L(zhǎng)oginAction,里面一定要重寫execute方法,注意參數(shù)的順序及返回類型都是不可以變化的。

在struts中action類起著控制轉(zhuǎn)向的作用,當(dāng)我們輸入用戶名與密碼并點(diǎn)了提交按鈕后,需要交給控制器來決斷我們是轉(zhuǎn)向到登陸成功頁(yè)還是登陸失敗頁(yè)。LoginAction在此就起這么個(gè)功能,具體代碼請(qǐng)依照如下所示:

public class LoginAction extends Action {

    public ActionForward execute(ActionMapping actionMapping,
                                  ActionForm actionForm,
                                  HttpServletRequest servletRequest,
                                  HttpServletResponse serveltResponse) 
    {
        LoginActionForm loginform = (LoginActionForm) actionForm;
        String username = loginform.getUsername();
        String userpass = loginform.getUserpass();
        boolean flag = false;
        String actionpath = "";
        if (username.equals("123") && userpass.equals("123")) {
            actionpath = "success";
        } else {
            actionpath = "error";
        }
        return actionMapping.findForward(actionpath);
    }
 }

在“LoginAction”中,我們得到一個(gè)ActionForm對(duì)象,并把它強(qiáng)轉(zhuǎn)成LoginActionForm,
待我們處理,即通過ActionForm的匹配名稱的表單自動(dòng)封裝機(jī)制,取得用戶輸入用戶名、密碼。
我們返回的結(jié)果將會(huì)被ActionFormward對(duì)象所包裝,比如這兒的“success“表示用戶合法,“error”表示用戶不合法,這個(gè)字符串將決定著頁(yè)面的流程控制。它并不是一個(gè)具體存在的頁(yè)面,它是如何跟一個(gè)具體的頁(yè)面關(guān)聯(lián)上的呢?

我們來分析幾點(diǎn):
1、 你在操作時(shí)記住的概念:
Struts的核心是Action,而Action的核心就是一個(gè)配置文件——struts-config.xml。它既然是核心就很重要哦。
2、 Maping映射:
a)         actionMapping.findForward(“映射名稱”); 它返回的是一個(gè)ActionForward對(duì)象
b)        struts-config.xml里面action節(jié)點(diǎn)下的:<forward name="映射名稱" path="/頁(yè)面名稱"/>
實(shí)現(xiàn)機(jī)制:Struts會(huì)根據(jù)你傳進(jìn)actionMapping.findForward(“映射名稱”),它會(huì)到你當(dāng)前action節(jié)點(diǎn)下去找forward這個(gè)節(jié)點(diǎn),并把你傳進(jìn)的參數(shù)與這個(gè)節(jié)點(diǎn)的name屬性進(jìn)行匹配。如果相等它就會(huì)跳到這個(gè)節(jié)點(diǎn)的path所指定的頁(yè)面。
       例:
Action:actionMapping.findForward(“success”)
Struts-config.xml:<forward name="success" path="/success.jsp"/>
如果是這種情況的話,它就會(huì)轉(zhuǎn)發(fā)到success.jsp頁(yè)面。
      注意:
a)         方法的參數(shù)值和name節(jié)點(diǎn)的值對(duì)應(yīng),
b)        Path所指定的頁(yè)面,前面必須加上“/“

       B、在前面我們提到了ActionForm,所以我們還需要建立一個(gè)類文件,這個(gè)類文件將封裝頁(yè)面用戶輸入的用戶名、和密碼。
注意:
1、這個(gè)類必須繼承ActionForm類,它將完成與頁(yè)面的自動(dòng)封裝。
2、類中的屬性名稱一定要和頁(yè)面的輸入框的名稱對(duì)應(yīng),為了自動(dòng)封裝的匹配工作。
3、這個(gè)類中一定要提供所有與屬性相匹配的set 和 get方法。

前面寫了這些代碼,看上去還是有些雜亂無章,怎么把它們關(guān)聯(lián)起來呢?又怎么調(diào)用這些代碼呢?呵呵,群龍不會(huì)無首的,下面就一起來關(guān)注struts的裝配文件,它可是相當(dāng)于struts的總司令!

C、核心部分,跳轉(zhuǎn)控制Struts-config.xml部分
<struts-config>
 <form-beans>
    <form-bean name="loginActionForm" type="formbeans.LoginActionForm" />
 </form-beans>
 <action-mappings>
<action path="/login" name="loginActionForm"  type="actions.LoginAction">
      <forward name="success" path="/success.jsp"/>
      <forward name="error" path="/wrong.jsp"/>
    </action>
 </action-mappings>
</struts-config>

我們對(duì)struts.xml做一下相應(yīng)的介紹吧,如下:
<form-bean>:用來配置一個(gè)ActionForm Bean。常用配置的幾個(gè)屬性:
name:指定該ActionForm Bean的唯一標(biāo)識(shí)符,整個(gè)Struts框架用該標(biāo)識(shí)符來引用這個(gè)Bean。該屬性是必需的
         type:指定ActionForm類的全限定名。該屬性是必需的
<action>:用來描述特定的請(qǐng)求路徑到相應(yīng)的Action類的映射。常用配置的幾個(gè)屬性:
  input:    指定包含輸入表單的URL路徑。當(dāng)表單驗(yàn)證失敗時(shí),將把請(qǐng)求轉(zhuǎn)發(fā)到該URL。
  name:   指定和該Action關(guān)聯(lián)的ActionForm Bean的名字。
  path:     指定訪問Action的路徑,它以“/”開頭,沒有擴(kuò)展名。
  Scope: 指定ActionForm Bean的存在范圍。(session | request)
  Validate:指定是否要先調(diào)用ActionForm Bean的validate()方法。默認(rèn)值為true
Action的子元素<forward>常用配置的幾個(gè)屬性:
  name:   指定轉(zhuǎn)發(fā)路徑的邏輯名。必需的
  path:     指定轉(zhuǎn)發(fā)(或重定向)的URI,必須以”/”開頭。必需的
redirect:當(dāng)此項(xiàng)為true時(shí),表示執(zhí)行重定向操作。為false時(shí)表示執(zhí)行請(qǐng)求轉(zhuǎn)發(fā)操作。默認(rèn)值為false

D、頁(yè)面login.jsp,用戶登錄頁(yè)面,提供用戶輸入功能。具體代碼如下所示:
<form method="post" action="login.do">
 請(qǐng)輸入姓名:<input type="text" name="username" value=""/><br />
 請(qǐng)輸入密碼:<input type="password" name="userpass" value=""/><br>
<input type="submit" name="Submit" value="Submit">
<input type="reset" value="Reset">
</form>

注意:
1、action后面的login.do就是struts-config.xml里面你要訪問的action節(jié)點(diǎn)path的值哦
2、切記哦,如果你請(qǐng)求的URL的引用了formbean的話,這里的名稱一定要對(duì)應(yīng)哦。
還有success.jsp 、wrong.jsp分別代表登錄成功和登錄失敗頁(yè)面。就不再多說啦!
啟動(dòng)Tomcat,連接上您的應(yīng)用程序網(wǎng)址,例如:http://localhost:8080/Struts1_Login/login.jsp,填入用戶名、密碼,并送出窗體,您的歡迎頁(yè)面就會(huì)顯示了。
       怎么樣,本章節(jié)是不是比較容易?其實(shí)struts就這么簡(jiǎn)單,能完成本章節(jié)的要求吧!現(xiàn)在你已經(jīng)上手啦!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 扶沟县| 凯里市| 望奎县| 浠水县| 疏勒县| 肥西县| 东乌珠穆沁旗| 双桥区| 南充市| 安达市| 永宁县| 武平县| 琼结县| 通州市| 施甸县| 吉木乃县| 甘孜县| 定结县| 广东省| 从江县| 化州市| 白玉县| 鄄城县| 奉新县| 鄂伦春自治旗| 锦屏县| 枣庄市| 全州县| 青浦区| 疏附县| 浙江省| 宜君县| 太保市| 洪泽县| 江门市| 察哈| 镇雄县| 宁远县| 鸡西市| 高雄县| 吉首市|