免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
從零開始創(chuàng)建基于struts1.2 + Hibernate3.0 Web工程(第一部分)
從零開始創(chuàng)建基于struts1.2 + Hibernate3.0 Web工程(第一部分)

文章工具
 推薦給朋友
 打印文章
時間:2005-11-15
 作者:phoenixatsh
 瀏覽次數(shù): 2102
 本文關(guān)鍵字:

1. 環(huán)境說明

  安裝Eclipse和安裝MyEclipse組件的過程在這里不進(jìn)行介紹??梢詤⒖计渌Y料完成Eclipse環(huán)境的安裝與資源的配置。

  接下來的篇幅將給出一個在MyEclipse開發(fā)環(huán)境下的一個Web工程實例。說明在MyEclipse的集成開發(fā)環(huán)境下,如何利用Struts進(jìn)行Web工程開發(fā)。

例子工程的環(huán)境:

Windows 2000 Professional或者更高的版本。
J2SDK 5.0
Apache Tomcat 5.0
MySQL 4.0.14b
Eclipse-SDK-3.1
MyEclipse 4.0
SQLyog407(可選)

2. 例子工程說明

  本例子是利用struts架構(gòu),實現(xiàn)用戶logon的Web工程。在這個工程中,用戶可以訪問三個頁面,index.jsp、logon.jsp、menu.jsp。他們的關(guān)系如下圖所示:

  其中,左上角的方框代表struts結(jié)構(gòu)中/WEB-INF/struts-config.xml中定義的,<global-forwards>,也就是在整個Web工程中,只要有l(wèi)ogon的動作發(fā)生,都會使畫面轉(zhuǎn)移到logon.jsp。那么處理logon.jsp畫面的formbeen是上圖上放右側(cè)的模塊表示的formbean來完成——logonForm。

  LogonFrom處理后會有兩個結(jié)果,“success”的時候,畫面會轉(zhuǎn)移到menu.jsp,失敗的話,回到logon畫面。

  在logon畫面,用戶需要輸入用戶名和密碼,點擊submit,進(jìn)行登錄認(rèn)證。輸入內(nèi)容的檢測是在logonForm的bean中檢查。判斷操作在logonAction的bean中完成,在logonAction的bean中,需要訪問MySql數(shù)據(jù)庫的Account表格,進(jìn)行用戶和密碼的查詢。查詢成功的話,證明用戶認(rèn)證通過。

3. 建立工程

3.1 v創(chuàng)建新的Web Project

  啟動MyEclipse,通過Wizard,建立一個Web工程。如下圖:

  點擊project后,MyEclipse彈出工程的對話框,我們在所羅列的工程中選中MyEclipse下面的J2EE Projects的Web Project。如下圖所示:

  在Wizard的下一頁,必要的輸入信息是Project Name、Context root URL。最后點擊finish,一個空的WebProject就已經(jīng)建立起來了

3.2 加載Struts

  在新創(chuàng)建的Web Project中加載struts。

  在MyEclipse集成開發(fā)環(huán)境下,已經(jīng)集成了struts開發(fā)的環(huán)境,用戶可以根據(jù)自己的實際需要,加載struts的環(huán)境。加載過程如下圖:

  右鍵點擊剛剛創(chuàng)建好的工程,點擊MyEclipse屬性,在擴展的右鍵菜單里面,選擇Add Struts Capabilities。

  MyEclipse集成環(huán)境就會自動將Struts所需要的目錄結(jié)構(gòu)進(jìn)行創(chuàng)建,并將需要的環(huán)境資源自動引用到相應(yīng)的目錄中去。

  我們還要對自動生成的Struts進(jìn)行修正,首先,修改WEB-INF/web.xml 將<web-app>標(biāo)簽中的屬性刪除。<web-app XXXXXXXXXXXXXXX> -> <web-app>

  其次要添加本工程的標(biāo)簽定義庫,添加<taglib></taglib>

<taglib>    <taglib-uri>/WEB-INF/app.tld</taglib-uri>    <taglib-location>/WEB-INF/app.tld</taglib-location>  </taglib>  <taglib>    <taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>    <taglib-location>/WEB-INF/struts-bean.tld
</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-html.tld</taglib-uri> <taglib-location>/WEB-INF/struts-html.tld
</taglib-location> </taglib> <taglib> <taglib-uri>/WEB-INF/struts-logic.tld</taglib-uri> <taglib-location>/WEB-INF/struts-logic.tld
</taglib-location> </taglib>

4. 完善工程

4.1 添加index畫面

  在加載完Struts結(jié)構(gòu)之后,就可以在這個工程中添加內(nèi)容了。我們可以添加一個畫面JSP。添加JSP很簡單,點擊工程的右鍵,添加JSP。Wizard會彈出一個添加的對話框。如下圖:

  在File Name欄中改變文件名稱,改成index.jsp把這個jsp作為Web工程的第一個畫面。

  Template To Use 欄可以選擇第五項(選擇選擇其他項也可以)。

  對于新生成的jsp文件進(jìn)行必要的修改。

Index.jsp文件:

<taglib><%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>    <title>My JSP ‘index.jsp‘ starting page</title>        <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">    <meta http-equiv="keywords" content="
keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page">
<!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <h3><bean:message key="index.heading"/></h3> <html:link page="/logon.jsp"><bean:message key="index.logon"/></html:link></body></html>

 其中藍(lán)色和橙色部分是修改的內(nèi)容,藍(lán)色部分是今后自動添加jsp文件必須修改的地方,讓這個頁面用到的tag都能在這個工程中定義的tag集合中找到。

  橙色部分是畫面的主要顯示內(nèi)容。<h3></h3>的內(nèi)容是一段文本,內(nèi)容被struts結(jié)構(gòu)的靜態(tài)文本集合中的index.heading給替換掉了。這個文本的內(nèi)容可以在工程的src\com\yourcompany\struts\ApplicationResources.properties文件中找到。Struts結(jié)構(gòu)推薦用戶將頁面上的靜態(tài)文本用ApplicationResources的形式替換。這樣可以在大量的維護(hù)頁面文字時候,感到便捷很多,同時,也大大減輕了多國語言版本網(wǎng)頁的維護(hù)。

  <html:link page="/logon.jsp">相當(dāng)于html語言中的<a herf=xxxxx>。這個tag是在/WEB-INF/struts-html.tld中可以找到并在顯示頁面的時候,被轉(zhuǎn)義成<a herf=xxxxx>

4.2 添加logon畫面

  添加方法跟添加index畫面相同。修改內(nèi)容稍微有些差別。

Logon.jsp的內(nèi)容:

<taglib><%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html:html locale="true">  <head>    <html:base />        <title>logon.jsp</title>        <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" 
content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> </head> <body> <html:form action="/logon.do" method="post" focus="userName"> <table border="0"> <tr> <td><bean:message key="prompt.username"/></td> <td><html:text property="userName" /></td> </tr> <tr> <td>Password:</td> <td><html:password property="password" /></td> </tr> <tr> <td colspan="2" align="center"><html:submit /></td> </tr> </table> </html:form> </body></html:html>

  其中,藍(lán)色部分是引用本工程的tag標(biāo)示庫,紅色的部分是表單屬性名稱的修改,和指定action動作的名稱。

4.3 修改WEB-INF/struts-config.xml

  畫面上出現(xiàn)了form,那么根據(jù)struts的結(jié)構(gòu)要求,就必須在WEB-INF/struts-config.xml中明確這個form的formbean(表單內(nèi)容校驗的java class)是什么。執(zhí)行這個form的action(表單執(zhí)行的內(nèi)部邏輯)是什么,以及action的結(jié)果會產(chǎn)生怎樣的畫面遷移。這些都是在WEB-INF/struts-config.xml中定義的。也就是標(biāo)準(zhǔn)的MVC架構(gòu)所要求的。

<taglib><struts-config>  <form-beans >    <form-bean name="logonForm" type="com.yourcompany.forms.
LogonForm" /> </form-beans>
<global-forwards > <forward name="logon" path="/logon.jsp" /> </global-forwards> <action-mappings > <action path="/logon" type="com.yourcompany.actions.LogonAction" name="logonForm" scope="request" input="/logon.jsp"> <forward name="success" path="/menu.jsp" /> <forward name="fails" path="/logon.jsp" /> </action> </action-mappings> <message-resources parameter="com.yourcompany.struts.
ApplicationResources" /></struts-config>

  其中<action>部分是說明action的屬性。

  Path 指定Action處理的URL

  Type 指定Action的類名

  Name 指定Action主力的ActionForm名,與<form-beans >元素的name屬性匹配。

  Scope 指定ActionForm存在的范圍

  Input 指定包含客戶提交表單的網(wǎng)頁,如果ActionForm的Validate方法返回錯誤,則因該把用戶請求轉(zhuǎn)發(fā)到這個網(wǎng)頁。

  Validate 如果取值為true,則表示ActionServlet應(yīng)該調(diào)用ActionForm的validate方法

  Forward 就是Action的execute方法執(zhí)行完畢后,把客戶請求在轉(zhuǎn)發(fā)給相應(yīng)的頁面。

4.4 添加formbean和actionbean

  添加方法跟JSP相同,但是在選擇superclass的時候,formbean要選擇ActionForm作為類的父類。Actionbean的父類是Action

  下面是各自的代碼

LogonForm.java文件內(nèi)容:

<taglib>package com.yourcompany.forms;import javax.servlet.http.HttpServletRequest;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionMapping;public class LogonForm extends ActionForm {	private static final long serialVersionUID 
= 7322786881443789688L; // ------------------------------
--------------------------- Instance Variables private String username = null; private String password = null; // -------------------------
-------------------------------- Methods public String getUserName() { return (this.username); } public void setUserName(String username) { this.username = username; } public String getPassword() { return (this.password); } public void setPassword(String password) { this.password = password; } public void reset(ActionMapping mapping,
HttpServletRequest request) { this.password = null; this.username = null; }}LogonAction.java文件:package com.yourcompany.actions;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;import com.yourcompany.forms.LogonForm;public class LogonAction extends Action { public ActionForward execute(ActionMapping
mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response) { String userName = null; String password = null; if (form != null) { userName = ((LogonForm) form).getUserName(); password = ((LogonForm) form).getPassword(); } if(userName.equals(“test1”) && password.
equals(“test1”)){ return (mapping.findForward("success"));}else{ return (mapping.findForward("fails"));} }}

4.5 添加menu畫面

  與添加index畫面的方法相同。下面是menu.jsp文件的內(nèi)容

<taglib><%@ page language="java" pageEncoding="UTF-8"%><%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %><%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %><%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html:html locale="true">  <head>    <html:base />        <title>menu.jsp</title>        <meta http-equiv="pragma" content="no-cache">    <meta http-equiv="cache-control" content="no-cache">    <meta http-equiv="expires" content="0">        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">    <meta http-equiv="description" content="This is my page">  </head>    <body>	  <h3><bean:message key="menu.message"/></h3>  </body></html:html>

原帖出處

http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=121&threadID=27383&messageID=162564#162564

注:論壇集粹是從dev2dev論壇摘錄廣大站友的原創(chuàng)、提問以及各種解答整理而來,如果您認(rèn)為本文的內(nèi)容已觸犯了您的權(quán)益,請聯(lián)系版主進(jìn)行修改。

 

 作者簡介
個人blog: http://javaniao.blogdriver.com/, 有關(guān)作者的更多詳情,請訪問論壇。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
blogjava - hexuzhong-利用myeclipse快速開發(fā)struts應(yīng)用程序
Struts1.x系列教程(4):標(biāo)簽庫概述與安裝
Zihuatanejo--Struts的HTML標(biāo)簽庫
ta標(biāo)簽和TLD標(biāo)簽的區(qū)別
KehuiCMS文檔-: 學(xué)習(xí)Struts+spring+hibernate的筆記 -可慧網(wǎng)絡(luò) KehuiCMS 內(nèi)容管理系統(tǒng)官方網(wǎng)站
JSTL與Struts的結(jié)合(十一)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服