亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Struts入門--從原理到安裝及實例講解

2019-11-18 15:55:25
字體:
來源:轉載
供稿:網友

  1. Struts的起源
  Struts是作為Apache Jakarta項目的組成部分。該項目的目標是為建立java web 應用程序而提供的一個開源框架,目前大家一般使用的版本為1.1,但也出現了1.2。通過使用struts 框架可以改進和提高Java Server Pages (jsps)、Servlet、標簽庫以及面向對象的技術在web應用程序中的應用。應用Struts框架可以減少你應用MVC(Model- View -Controller)設計模式的開發時間,從而提高開發效率。把Struts應用于J2ee客戶端,應該是一個不錯的選擇。
  
  2. Struts的工作原理
  談到Struts,我們就不得不提到MVC設計模式。MVC即Model-View-Controller的縮寫,它是web應用當中的常用的設計模式。MVC 減弱了業務邏輯接口和數據接口之間的耦合,以及讓視圖層更富于變化。
  Struts是MVC的一種實現,它很好的結合了Jsp,Java Servlet,Java Bean ,Taglib等技術。那么我們來看看Struts框架的工作原理:
  控制:在Struts中,ActionServlet起著一個控制器(Controller)的作用。ActionServlet是一個通用的控制組件。這個控制組件提供了處理所有發送到Struts的HTTP請求的入口點。它截取和分發這些請求到相應的動作類(這些動作類都是Action類的子類)。另外控制組件也負責用相應的請求參數填充 Action Form(通常稱之為FromBean),并傳給動作類(通常稱之為ActionBean)。動作類實現核心商業邏輯,它可以訪問java bean 或調用EJB。所有這些控制邏輯利用Struts-config.xml文件來配置。
  視圖:主要是由Jsp來控制頁面輸出的。它接收到Action Form中的數據,利用Html,taglib,bean,logic等顯示數據。
  模型:在Struts中,主要存在三種bean,分別是:Action,ActionForm,EJB或者Java Bean。ActionForm用來封裝客戶請求信息,Action取得ActionForm中的數據,再由EJB或者Java Bean進行處理。
  
  3 Struts 優點與缺點
  優點:1.利用Struts提供的taglib可以大大節約開發時間。2. 表現與邏輯分離。 3.維護擴展比較方便。 4 便于團隊開發
  缺點:大量的使用標簽,對于初學者難度較大。
  
  4. Struts 1.1 安裝
  安裝Struts 1.1 比較簡單。假設我們使用的是Tomcat 5.0,并且安裝在D:/tomcat下。首先,請到http://jakarta.apache.org/struts/ 下載Struts 1.1,解壓縮后,可以看到jakarta-struts-1.1目錄,在這個目錄下面,你可以看到這樣一個目錄:webapps.該目錄下面有多個*.war,我們copy struts-blank.war 文件到D:/tomcat/webapps下,restart Tomcat,在Tomcat 的webapps下就會生成一個struts-blank空白Struts開發環境。另外,在你解壓縮的目錄下的webapps中 struts-example.war 是一個很好的struts學習教程,假如你想深入學習請訪問http://jakarta.apache.org/struts 或者 下載 《Struts in Action》 E 文版。
  
  5. 一個簡單的例子
  5.1 Logon.jsp
  <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
  <%@ page contentType="text/html; charset=gb2312" %>
  <%
  /**
  * This page shows Logon interface.
  * Title: LOGON SYSTEM
  * Description: Logon Page
  * Copyright: Copyright (c) 2004
  * Company: www.ewe.com.cn
  * @author bluesunny <hyjun2001@163.com>
  * @version 1.0
  */
  response.setHeader("  response.setHeader("Cache-Control","no-cache");
  response.setDateHeader("EXPires", 0);
  %>
  <html>
  <head>
  <title>Logon</title>
  </head>
  <body>
  <html:errors/>
  <html:form action="/Logon" focus="username">
  username:<html:text property="username" size="25"/>
  passWord:<html:password property="password" size="25"/>
  <html:submit property=”submit”/>
  </html:form>
  </body>
  </html>
  頁面為用戶登陸頁面,應用到Struts的html標簽。
  5.2 LogonForm.java
  package com.logon.app;
  import javax.servlet.http.*;
  import org.apache.struts.action.*;
  /**
  * This page shows LogonForm.java
  * Title: LOGON SYSTEM
  * Description: LogonForm Page
  * Copyright: Copyright (c) 2004
  * Company: www.ewe.com.cn
  * @author bluesunny
  * @version 1.0
  */
  public class LogonForm extends ActionForm{
  private String username;
  private String pass
Word;
  public LoginForm() {
  username = null;
  password = null;
  }
  public void setUsername(String username){
  this.username = username;
  }
  public String getUsername() {
  return this.username;
  }
  public void setPassword(String password){
  this.password = password;
  }
  public String getPassword(){
  return this.password;
  }
  public void reset(ActionMapping mapping, HttpServletRequest request)
  {
  username = null;
  password = null;
  }
  }
  這個頁面為ActionForm bean ,主要是用來封裝客戶端的用戶名與密碼。
  5.3 LogonAction.java
  package com.logon.app;
  import java.io.*;
  import java.sql.*;
  import org.apache.struts.action.Action;
  import org.apache.struts.action.ActionForward;
  import org.apache.struts.action.ActionMapping;
  import org.apache.struts.action.ActionForm;
  import javax.servlet.*;
  import javax.servlet.http.*;
  import org.apache.struts.action.*;
  /**
  * This page shows LogonAction.java
  * Title: LOGON SYSTEM
  * Description: LogonAction Page
  * Copyright: Copyright (c) 2004
  * Company: www.ewe.com.cn
  * @author bluesunny
  * @version 1.0
  */
  public class LogonAction extends Action{
  public ActionForward execute(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response)throws Exception{
  LogonForm form = (LogonForm)actionForm;
  ActionErrors errors = new ActionErrors();
  String username = form.getUsername();
  String password = form.getPassword();
  If(username.equals(“bluesunny”) && password.equals(“bluesunny”)){
  return actionMapping.findForward("sUCcess");
  }else{
  errors.add("login",new ActionError("Logon.failed"));
  saveErrors(request,errors);
  return actionMapping.findForward("failed");
  }
  }
  }
  取得ActionForm中的數據,進行處理,處理結果返回到Jsp頁面。
  5.4 web.xml
  <?xml version="1.0" encoding="ISO-8859-1"?>
  <!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web application 2.3//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_3.dtd";>
  <web-app>
  <display-name>Struts Logon Application</display-name>
  <!-- Standard Action Servlet Configuration (with debugging) -->
  <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
  <init-param>
  <param-name>config</param-name>
  <param-value>/WEB-INF/struts-config.xml</param-value>
  </init-param>
  <init-param>
  <param-name>debug</param-name>
  <param-value>2</param-value>
  </init-param>
  <init-param>
  <param-name>detail</param-name>
  <param-value>2</param-value>
  </init-param>
  <load-on-startup>2</load-on-startup>
  </servlet>
  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
  <servlet-name>action</servlet-name>
  <url-pattern>*.do</url-pattern>
  </servlet-mapping>
  <!-- The Welcome File List -->
  <welcome-file-list>
  <welcome-file>logon.jsp</welcome-file>
  </welcome-file-list>
  <!-- Struts Tag Library Descriptors -->
  <taglib>
  <taglib-uri>/tags/struts-bean</taglib-uri>
  <taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
  </taglib>
  <taglib>
  <taglib-uri>/tags/struts-html</taglib-uri>
  <taglib-location>/WEB-INF/struts-html.tld</taglib-location>
  </taglib>
  <taglib>
  <taglib-uri>/tags/struts-logic</taglib-uri>
  <taglib-location>/WEB-INF/struts-logic.tld</taglib-location>
  </taglib>
  <tagli

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品久久久久久婷婷天堂| 欧美一区二三区| 欧美一区二区三区四区在线| 欧美大片在线看免费观看| 日本精品在线视频| 欧美极品美女视频网站在线观看免费| 久久这里只有精品视频首页| 欧美日韩中文字幕在线| 久久久久久伊人| 欧美日韩国产精品| 国产精品日韩精品| 91国内精品久久| 91精品国产电影| 亚洲色图18p| 国产精品久久久久久搜索| 色小说视频一区| 国产亚洲aⅴaaaaaa毛片| 麻豆精品精华液| 国产精品88a∨| 中文亚洲视频在线| 国产成人精品一区| 国产精品高潮呻吟久久av野狼| 欧日韩在线观看| 欧美精品电影在线| 欧美最猛性xxxx| 亚洲精品女av网站| 久久综合九色九九| 欧美激情影音先锋| 国产盗摄xxxx视频xxx69| 亚洲电影免费观看高清完整版在线观看| 亚洲r级在线观看| 精品久久国产精品| 午夜精品久久久久久99热| 欧美精品18videosex性欧美| 亚洲成av人片在线观看香蕉| 国产精品一区二区久久精品| 疯狂做受xxxx高潮欧美日本| 亚洲日本成人女熟在线观看| 色综合视频网站| 久久天天躁日日躁| 欧美成人黑人xx视频免费观看| 亚洲免费视频在线观看| 成人有码在线播放| 欧美在线视频在线播放完整版免费观看| 91中文字幕在线| 一区二区三区精品99久久| 亚洲人成网7777777国产| 最近2019年中文视频免费在线观看| 亚洲激情免费观看| 91综合免费在线| 97精品一区二区三区| 国产91精品青草社区| 成人网在线免费看| 亚洲天堂久久av| 久久久精品在线观看| 日韩欧美a级成人黄色| 国产精品视频一区二区高潮| 夜夜嗨av色一区二区不卡| 尤物yw午夜国产精品视频明星| 亚洲女人天堂成人av在线| 久久99精品久久久久久噜噜| 欧美亚洲激情视频| 色无极影院亚洲| 亚洲一区二区三区在线免费观看| 91最新在线免费观看| 久久97精品久久久久久久不卡| 亚洲2020天天堂在线观看| 欧美日韩另类视频| 精品成人69xx.xyz| 91国偷自产一区二区三区的观看方式| 欧美老女人在线视频| 精品久久久久久国产| 96pao国产成视频永久免费| 欧美电影在线免费观看网站| 日韩在线观看视频免费| 国产精品白嫩初高中害羞小美女| 精品调教chinesegay| 国内精品视频久久| 色综合老司机第九色激情| 国产精品海角社区在线观看| 国产91免费观看| 久久人人爽国产| 欧美日韩福利在线观看| 久久久影视精品| 欧美日韩国产丝袜另类| 福利视频第一区| 国产精品视频永久免费播放| 亚洲国产精久久久久久久| 亚洲国产精品va在线| 亚洲欧美国产精品专区久久| 中文字幕欧美日韩在线| 亚洲自拍偷拍色片视频| 成人黄色av播放免费| 亚洲白拍色综合图区| 国产精品免费久久久久影院| 欧美在线观看网站| 欧美激情区在线播放| 国产日韩欧美电影在线观看| 亚洲91精品在线观看| 欧美日韩精品中文字幕| 久久艹在线视频| 黑人巨大精品欧美一区二区免费| 国产日韩欧美中文在线播放| 亚洲天堂2020| 亚洲一区二区三区四区视频| 韩国国内大量揄拍精品视频| 国产亚洲精品高潮| 亚洲一级黄色片| 中文字幕亚洲图片| 欧美孕妇性xx| 欧美日韩免费在线| 日韩在线观看免费高清完整版| 日韩精品久久久久| 欧美日本高清一区| 久热国产精品视频| 欧美日韩第一视频| 亚洲三级黄色在线观看| 国产亚洲精品美女| 精品国产一区二区三区久久久狼| 精品中文字幕在线观看| 欧美在线视频网| 亚洲男女自偷自拍图片另类| 在线日韩中文字幕| 成人免费淫片aa视频免费| 国产精品视频内| 亚洲黄色av网站| 欧美国产一区二区三区| 亚洲**2019国产| 中文字幕亚洲一区二区三区| 亚洲第一区第一页| 欧洲精品毛片网站| 日韩乱码在线视频| 亚洲激情电影中文字幕| 午夜精品免费视频| 亚洲aⅴ日韩av电影在线观看| 高潮白浆女日韩av免费看| 国内精品久久久久影院 日本资源| 亚洲国产成人一区| 精品久久久久久久久久| 国产精品www色诱视频| 亚洲aⅴ日韩av电影在线观看| 中文字幕成人精品久久不卡| 亚洲最大福利视频| 精品久久久在线观看| 欧美日韩国产一中文字不卡| 26uuu日韩精品一区二区| 秋霞av国产精品一区| 成人免费激情视频| 国产aⅴ夜夜欢一区二区三区| 美日韩精品免费观看视频| 成人国产在线视频| 精品偷拍一区二区三区在线看| 欧美极品少妇xxxxⅹ免费视频| 精品亚洲夜色av98在线观看| 久久久精品视频在线观看| 日韩国产一区三区| 国产一区二区三区高清在线观看| 欧美与黑人午夜性猛交久久久| 九九久久精品一区| 一区二区三区无码高清视频| 国产精品免费久久久久久| 国内精品久久久久久| 九九视频这里只有精品| 97碰在线观看|