一葉笑天
          雄關漫道真如鐵, 而今邁步從頭越。 從頭越, 蒼山如海, 殘陽如血。
          posts - 73,comments - 7,trackbacks - 0
          從今天開始,我將陸續發布自己學習Struts2中的感受和筆記。這也算是督促自己學些和總結學習經驗的好方式。

          聲明一下,我博客中所有的文章僅供本人學習之用,最近有人對我的文章評論過激,在此我希望您不要耽擱時間在我的博客中。如果文章中有什么不對之處,我歡迎大家指出,但是我希望您珍惜自己的言行。

          開發環境:

          Web服務器:apache-tomcat-6.0.18

          Struts版本:struts-2.0.14

          JDK版本:JDK1.5.0_12

          Eclipse版本:eclipse-jee-ganymede-SR1-win32 也就是eclipse的開發JEE版本,很多人都使用myeclipse,但是由于myeclipse是商業版本,所以覺得eclipse-jee-ganymede對于開發JEE的項目已經很不錯了,所以我覺得沒必要用myEclipse去開發。

          Struts2需要的jar包:

          至少需要如下五個包

          struts2-core-2.0.11.1.jar

          xwork-2.0.4.jar

          commons-logging-1.0.4.jar

          freemarker-2.3.8.jar

          ognl-2.6.11.jar

          在這個簡單的例子中,我們將會完成以下步驟:
          1.配置web.xml
          2.編寫jsp
          3.編寫Action實現類
          4.配置Action
          5.發布運行

          1.配置web.xml
          Struts2的入口點是一個Filter,需要將這個入口點配置到web.xml:

          <?xml version="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/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
              
              
          <display-name>HelloWorld</display-name>
              
              
          <welcome-file-list>
                  
          <welcome-file>index.jsp</welcome-file>
              
          </welcome-file-list>
              
              
          <filter>
                  
          <filter-name>struts2</filter-name>
                  
          <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
              
          </filter>
              
          <filter-mapping>
                  
          <filter-name>struts2</filter-name>
                  
          <url-pattern>/*</url-pattern>
              
          </filter-mapping>
              
          </web-app>


          2. 編寫jsp
          在這個例子中需要兩個jsp,一個是index.jsp, 用于輸入用戶的名字。第二個jsp是welcome.jsp,用于向用戶問候。

          在Struts2中只需要一個標簽庫/struts-tags。這里面包含了所有的Struts2標簽。但使用Struts2的標簽大家要注意一下。在<s::form>中最好都使用Struts2標簽,盡量不要用HTML或普通文本.

          index.jsp如下:

          <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
          <%@ taglib prefix="s" uri="/struts-tags" %>

          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          <title>HelloWorld</title>
          </head>
          <body>
            
          <s:form action="Hello">
               
          <s:textfield name="name" label="Please Input Your Name:"></s:textfield>
               
          <s:submit value="Hello"></s:submit>
            
          </s:form>
          </body>
          </html>

          welcome.jsp如下:

          <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
          <%@ taglib prefix="s" uri="/struts-tags" %>

          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
          <title>HelloWorld</title>
          </head>
          <body>
            Hello 
          <s:property value="name"/>
          </body>
          </html>


          3.編寫Action類
          Struts2.x的Action需要從com.opensymphony.xwork2.ActionSupport類繼承。而且Action中已經包含了Struts1中的ActionForm類信息,所以不需要再寫ActionForm類。

          在這個例子中只編寫了一個HelloWorld.java類:

          package com.struts2.action;

          import com.opensymphony.xwork2.ActionSupport;


          public class HelloWorld extends ActionSupport {

              
          private static final long serialVersionUID = -2567455771246284511L;
              
              
          private String name;
              
              
              
          public String getName() {
                  
          return name;
              }


              
          public void setName(String name) {
                  
          this.name = name;
              }



              
          public String execute() throws Exception {
                  
                  setName(getName());        
                  
          return SUCCESS;
              }


          }


          4.配置Action類:
          struts2.x中的配置文件一般為struts.xml,放到WEB-INF"classes目錄中。下面是在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>
              
          <package name="default" extends="struts-default">
                  
          <action name="Hello" class="com.struts2.action.HelloWorld">
                      
          <result name="success">/welcome.jsp</result>
                  
          </action>
              
          </package>

          </struts>


          5.發布:

          在eclipse-jee-ganymede下配置tomcat服務器,很簡單。
          Windows->Performance->Server->Runntime Environment->Add.隨著向導就可以增加tomcat服務器了。
          然后鼠標右鍵點擊項目的根目錄,選擇菜單的Run As->Run on Server就可以發布啟動你的項目了。而且還有eclipse自帶的瀏覽器,感覺很不錯咯。








          posted on 2009-01-06 19:20 一葉笑天 閱讀(393) 評論(0)  編輯  收藏 所屬分類: Struts技術

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


          網站導航:
           
          主站蜘蛛池模板: 黎平县| 衡南县| 景德镇市| 合山市| 五大连池市| 马关县| 营口市| 舞阳县| 托克逊县| 太和县| 徐闻县| 扎鲁特旗| 闸北区| 新郑市| 普安县| 青海省| 宣城市| 海淀区| 永寿县| 綦江县| 海口市| 天长市| 本溪| 山东| 合水县| 平和县| 秦皇岛市| 黄大仙区| 巴塘县| 青阳县| 南木林县| 汤原县| 灵武市| 郴州市| 格尔木市| 盱眙县| 拉萨市| 昂仁县| 德钦县| 新和县| 梅河口市|