Struts2.0 (開發之一)--簡介與簡單登錄的實現--CTO

轉載時請註明文章出處 : http://blog.csdn.net/ctojxzsycztao 作者 : ctojxzsycztao                                                            上一編文章寫的太突然了,沒有考濾到朋友們對struts2 的瞭解,就埋下了伏筆,真不好意思,因爲本人對struts2的理解有限,所以也只能做簡單介紹,還請各位讀友多多見解.

Struts2簡單介紹 : struts2與struts1.x的最大區別在於,struts1.x需要繼承 Action 而struts2不需繼承任何類,是一個完整的POJO,更方便擴展,調試,struts1.x 的Action 就難以調試,它的狀態完全由struts1.x 容器進行管理,struts2 吸收webwork2的優點,是struts1.2和webwork2 強強聯合的精華,集合了spring 的 ioc/di思想. 其最大的優點在於Action 不用再繼承Action,方法名也不再是限於execute,可以任由開發人員定義,每個方法都返回一個String ,方便調試 便於脫離Struts2框架

開發環境: tomcat5.5.20 和 jdk1.5 及以上:     

Struts2 的開發過程 :                                                                                                                                                               一 .  首先到 http://struts.apache.org/ 下載所需要的開發包,其中包括以下jar文件:commons-logging-1.1.jar , freemarker-2.3.8.jar , ognl-2.6.9.jar , struts2-api-2.0.5.jar , struts2-core-2.0.5.jar , xwork-2.0.0.jar ,                         二.    jar 包下載下來應包含以上 jar 文件 , 將這些 jar 文件copy到工程項目的 lib 目錄下,                                             三 . 添加一個action , 一個完整的 action 如下:              

public class UserAction {
    
private String userName;
    
private String password;
    
private static final String SUCCESS = "success";
    
private static final String ERROR = "error";
    
    
public void setUserName(String userName) {
               
this.userName = userName;
    }

    
public String getUserName() {
               
return userName;
    }

    
public void setPassword(String password) {
               
this.password = password;
    }

    
public String getPassword() {
               
return password;
    }

    
    
public String login() throws Exception{
               
if(this.getUserName().equals("chentao"&& this.getPassword().equals("chentao")) {
         
return SUCCESS;
               }

               
return ERROR;
    }

}

二.  在classpath的根目錄下添加 struts.xml,struts.xml 文件內容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd"
>
<struts>
    
<!-- name包名一定要唯一 namespace是確定的url前綴 extends 是設置struts2的初始化環境 -->
    
<package name="userManager" namespace="" extends="struts-default">
        
<!-- name是客戶端提交的路徑,class需要調用的action method 調用的方法 -->
        
<action name="login" class="action.UserAction" method="login">
            
<!-- result 根據響應狀態轉發到相對的頁面 -->
            
<result name="success">/success.jsp</result>
            
<result name="error">/error.jsp</result>
        
</action>
    
</package>
</struts>
三.在web.xml 中加入一個 filter 類,用來加載struts2 環境:代碼如下:
<filter>
    
<filter-name>webwork</filter-name>
    
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
    
<filter-name>webwork</filter-name>
    
<url-pattern>*.action</url-pattern>
</filter-mapping>
四. 添加 login.jsp 頁面:
<%@page language="java" contentType="text/html;charset=gb2312"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<html>
<head>
         
<title>用戶登錄</title>
<head>
<body>
         
<s:form action="login">
                  用戶名:
<s:textField name="userName"/><br />
                  密    碼:
<s:textField name="pwd"/> <br />
                             
<s:submit value="login"/>
         
</s:form>
</body>
</html>
好了可以了,登錄完全成功, 我試過,不信你試試 , 下一編將講 struts2 的跟蹤狀態
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章