久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

配置Struts2后如何使用servlet五篇范文

時(shí)間:2019-05-12 02:51:42下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《配置Struts2后如何使用servlet》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《配置Struts2后如何使用servlet》。

第一篇:配置Struts2后如何使用servlet

配置Struts2后如何使用servlet 1.問(wèn)題的提出

如果web.xml中struts2和servlet的配置如下:

struts2 org.apache.struts2.dispatcher.FilterDispatcher struts2 /*

ImageServlet com.servlets.ImageServlet ImageServlet /myImageServlet/* 當(dāng)我們?cè)陧?yè)面在請(qǐng)求應(yīng)用時(shí),struts2將會(huì)截獲所有請(qǐng)求,對(duì)于servlet請(qǐng)求將不能夠正常響應(yīng)的(報(bào)錯(cuò)信息為:HTTP Status 404target.lastIndexOf(“/”)): target

.substring(target.lastIndexOf(“/”)+ 1);

if(this.includes.contains(target)){

RequestDispatcher rdsp = request.getRequestDispatcher(target);

rdsp.forward(req,resp);

} else

chain.doFilter(req, resp);

}

@Override

public void init(FilterConfig config)throws ServletException {

this.includes.addAll(Arrays.asList(config.getInitParameter(“includeServlets”).split(“,”)));

}

}

2.在web.xml中做適當(dāng)配置,在struts2的配置前加上下面的代碼:

redisp

com.kcjxkj.filter.ReDispatcherFilter

includeServlets

ValidateEmail

redisp

/*

其中,

中為web.xml中配置的要過(guò)濾的servlet名,多個(gè)之間用“,”逗號(hào)隔開(kāi)。

第二篇:servlet生命周期

Servlet生命周期

Servlet的生命周期是由servlet容器來(lái)控制的。Servlet周期分為三個(gè)階段:(一)初始化階段;(二)運(yùn)行階段;(三)銷毀階段。

分階段講解:

(一)servlet初始化階段,調(diào)用init()方法。

在下列時(shí)刻servlet容器載入servlet:

1、servlet容器啟動(dòng)時(shí)自動(dòng)載入某些servlet,實(shí)現(xiàn)它只需要在web.XML

文件中的之間添加如下代碼:

1

2、在servlet容器啟動(dòng)后,客戶首次向servlet發(fā)送請(qǐng)求。

3、Servlet類文件被更新后,重新載入servlet。

Servlet被載入后,servlet容器創(chuàng)建一個(gè)servlet實(shí)例并且調(diào)用servlet的init()方法進(jìn)行初始化。在servlet的整個(gè)生命周期內(nèi),init()方法只被調(diào)用一次。

(二)servlet運(yùn)行階段,調(diào)用service()方法。

對(duì)于用戶到達(dá)servlet的請(qǐng)求,servlet容器會(huì)創(chuàng)建特定于這個(gè)請(qǐng)求的servletrequest對(duì)象和servletresponse對(duì)象,然后調(diào)用servlet的service方法。Service方法從servletrequest對(duì)象獲得客戶請(qǐng)求信息,處理該請(qǐng)求,并通過(guò)servletresponse對(duì)象向客戶返回響應(yīng)信息。

Servlet接口和GenericServlet是不特定于任何協(xié)議的,而HttpServlet是特定于HTTP協(xié)議的類,所以HttpServlet中實(shí)現(xiàn)了service()方法,并將請(qǐng)求ServletRequest,ServletResponse強(qiáng)轉(zhuǎn)為HttpRequest和HttpResponse。

代碼的最后調(diào)用了HTTPServlet自己的service(request,response)方法,然后根據(jù)請(qǐng)求去調(diào)用對(duì)應(yīng)的doXXX方法,因?yàn)镠ttpServlet中的doXXX方法都是返回錯(cuò)誤信息。

(三)servlet銷毀(終止)階段,調(diào)用destroy()方法。

當(dāng)web應(yīng)用被終止,或servlet容器終止運(yùn)行,或servlet容器重新載入servlet新實(shí)例時(shí),servlet會(huì)先調(diào)用servlet的destroy()方法,在destroy()方法中可以釋放掉servlet所占用的內(nèi)存資源。

第三篇:servlet小結(jié)

Tomcat服務(wù)器 http工作原理:

http超文本傳輸協(xié)議

HTTP是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)(TCP)

http請(qǐng)求響應(yīng)步驟:

1客戶端鏈接到web服務(wù)器 2發(fā)送http請(qǐng)求

3服務(wù)器接收請(qǐng)求并返回http響應(yīng) 4釋放鏈接tcp 5客戶端瀏覽器解析html內(nèi)容 Web應(yīng)用程序 項(xiàng)目打包發(fā)布

1清緩存,重新生成.Class文件 2生成war包

3將war文件復(fù)制tomcat路徑下的webapps 文件下 4啟動(dòng)項(xiàng)目

5通過(guò)瀏覽器訪問(wèn)

在eclipse中配置tomcat并發(fā)布項(xiàng)目

Windows-prefrence-servers-runtime envirment Add

tomcat 安裝目錄 Server 安裝 運(yùn)行

給servlet類 在Web.xml中配置servlet訪問(wèn)路徑 Servlet生命周期

1在被訪問(wèn)時(shí)進(jìn)行初始化 2請(qǐng)求到達(dá)時(shí)處理 3在應(yīng)用結(jié)束時(shí)注銷 Get與post請(qǐng)求的區(qū)別

1get請(qǐng)求不安全傳輸時(shí),數(shù)據(jù)存放在url中,post傳輸對(duì)用戶來(lái)說(shuō),是不可見(jiàn)的 2get請(qǐng)求傳輸數(shù)據(jù)較小,受限url長(zhǎng)度的限制,post可以傳輸大量的數(shù)據(jù),Httpservletrequest的getparameter 方法 獲取地址欄參數(shù),或者表單字段值 Servletcontext的getinitparameter Context-param設(shè)置全局變量

使用注解方式設(shè)置servlet訪問(wèn)路徑 Loadonstartup設(shè)置初始化 轉(zhuǎn)發(fā)和重定向 區(qū)別:

轉(zhuǎn)發(fā)在服務(wù)器端完成,重定向在客戶端完成 轉(zhuǎn)發(fā)速度快,重定向速度慢

轉(zhuǎn)發(fā)是同一次請(qǐng)求,重定向是兩次請(qǐng)求 轉(zhuǎn)發(fā)地址欄沒(méi)有變化,重定向地址欄有變化 轉(zhuǎn)發(fā)不可以訪問(wèn)其他外部資源,重定向可以

請(qǐng)求轉(zhuǎn)發(fā)可以訪問(wèn)web-inf保護(hù)目錄下的頁(yè)面,重定向不能訪問(wèn)到 轉(zhuǎn)發(fā)可以攜帶參數(shù),重定向不能攜帶參數(shù)

Web-inf為保護(hù)目錄,保護(hù)目錄下的文件不能直接訪問(wèn),如果要訪問(wèn)保護(hù)目錄下的文件,只能通過(guò)轉(zhuǎn)發(fā)的方式訪問(wèn),重定向不能訪問(wèn) Jsp表達(dá)式<%= 表達(dá)式%> Jsp腳本<%腳本%> Jsp聲明<%!%> Jsp注釋<%--%>

第四篇:Struts2介紹

Struts2集成指南

關(guān)于Struts2 Struts是Apache軟件基金會(huì)(ASF)贊助的一個(gè)開(kāi)源項(xiàng)目。它最初是Jakarta項(xiàng)目中的一個(gè)子項(xiàng)目,并在2004年3月成為ASF的頂級(jí)項(xiàng)目。它通過(guò)采用Java Servlet/JSP技術(shù),實(shí)現(xiàn)了基于Java EE Web應(yīng)用的Model-View-Controller〔MVC〕設(shè)計(jì)模式的應(yīng)用框架〔Web Framework〕,是MVC經(jīng)典設(shè)計(jì)模式中的一個(gè)經(jīng)典產(chǎn)品。

Struts,a history 在Java EE的Web應(yīng)用發(fā)展的初期,除了使用Servlet技術(shù)以外,普遍是在JavaServer Pages(JSP)的源代碼中,采用HTML與Java代碼混合的方式進(jìn)行開(kāi)發(fā)。因?yàn)檫@兩種方式不可避免的要把表現(xiàn)與業(yè)務(wù)邏輯代碼混合在一起,都給前期開(kāi)發(fā)與后期維護(hù)帶來(lái)巨大的復(fù)雜度。為了擺脫上述的約束與局限,把業(yè)務(wù)邏輯代碼從表現(xiàn)層中清晰的分離出來(lái),2000年,Craig McClanahan采用了MVC的設(shè)計(jì)模式開(kāi)發(fā)Struts。后來(lái)該框架產(chǎn)品一度被認(rèn)為是最廣泛、最流行JAVA的WEB應(yīng)用框架。

Craig McClanahan 2006年,WebWork與Struts這兩個(gè)優(yōu)秀的Java EE Web框架(Web Framework〕的團(tuán)體,決定合作共同開(kāi)發(fā)一個(gè)新的,整合了WebWork與Struts優(yōu)點(diǎn),并且更加優(yōu)雅、擴(kuò)展性更強(qiáng)的框架,命名為“Struts 2”,原Struts的1.x版本產(chǎn)品稱為“Struts 1”。

至此,Struts項(xiàng)目并行提供與維護(hù)兩個(gè)主要版本的框架產(chǎn)品——Struts 1與Struts 2。Struts1 vs.Struts2 侵入性

Struts 1 在編程方面是面向抽象類編程,而不是面向接口編程。Struts 1要求自定義Action 類繼承一個(gè)特定的抽象基類Action。另一方面,Struts 1的 Action 依賴于 Servlet API,因?yàn)镾truts 1 Action 的execute 方法中有HttpServletRequest 和HttpServletResponse 方法。例如 e.g.public class LogonAction extends Action {

public ActionForward execute(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response){

} }

Struts 2 Action 類可以實(shí)現(xiàn)一個(gè)Action接口,也可以實(shí)現(xiàn)其他接口,甚至不實(shí)現(xiàn)任何接口。這使得可選的和定制的服務(wù)成為可能。e.g.public class ExampleAction {

public String doSomething(){

return “success”;} }

線程模式

Struts 1 Action類 是單例模式并且必須是線程安全的,因?yàn)樵趙eb容器中,僅有Action類 的一個(gè)實(shí)例來(lái)處理所有的請(qǐng)求。

Struts2 Web容器為每一個(gè)請(qǐng)求產(chǎn)生一個(gè)Action類實(shí)例,因此沒(méi)有線程安全問(wèn)題。可測(cè)試性

Struts1 由于對(duì)Servlet API的依賴,使得針對(duì)于自定義Action類的測(cè)試變得復(fù)雜。

Struts2 由于自定義Action可以為POJO,所以可以向測(cè)試一個(gè)POJO一樣來(lái)測(cè)試Action類。

請(qǐng)求參數(shù)封裝

Struts1 使用ActionForm 對(duì)象封裝用戶的請(qǐng)求參數(shù),所有的 ActionForm 必須繼承一個(gè)基類:ActionForm。普通的JavaBean 不能用作ActionForm,并且需要在配置文件中定義ActionForm。e.g.public class LogonForm extends ActionForm {

private String userpassword;

private String username;}

Struts2 直接使用Action屬性來(lái)封裝用戶請(qǐng)求屬性,避免了開(kāi)發(fā)者需要大量開(kāi)發(fā)ActionForm類的煩瑣,實(shí)際上,這些屬性還可以是包含子屬性的 Rich對(duì)象類型。e.g.public class ExampleAction {

private String responseMessage;private String requestMessage;

public String getResponseMessage(){

return responseMessage;}

public void setResponseMessage(String responseMessage){

this.responseMessage = responseMessage;}

public String getRequestMessage(){

return requestMessage;

} } public void setRequestMessage(String requestMessage){ } this.requestMessage = requestMessage;public String doSomething(){

} setMessage(“Hi, ” + getRequestMessage());return “success”;EL Struts1 整合了 JSTL,因此可以使用JSTL 表達(dá)式語(yǔ)言。JSTL有基本對(duì)象圖遍歷,但在對(duì)集合和索引屬性的支持上則功能不強(qiáng)。在向視圖綁定值時(shí),Struts1 使用標(biāo)準(zhǔn)JSP 機(jī)制把對(duì)象綁定到視圖頁(yè)面。

Struts2 Struts 2 可以使用JSTL,但它整合了一種更強(qiáng)大和靈活的表達(dá)式語(yǔ)言:OGNL(Object Graph Notation Language),因此,Struts 2 下的表達(dá)式語(yǔ)言功能更加強(qiáng)大。在向視圖綁定值時(shí),Struts2 使用“ValueStack ”技術(shù),使標(biāo)簽庫(kù)能夠訪問(wèn)值,而不需要把對(duì)象和視圖頁(yè)面綁定在一起。

校驗(yàn)框架

Struts1 Struts1 支持在 ActionForm 重寫(xiě)validate 方法中手動(dòng)校驗(yàn),或者通過(guò)整合 Commons-validator 框架來(lái)完成數(shù)據(jù)校驗(yàn)。

Struts2 Struts 2 支持通過(guò)重寫(xiě)validate方法進(jìn)行校驗(yàn),也支持整合XWork 校驗(yàn)框架進(jìn)行校驗(yàn)。Struts2 architacture

名詞約定

凡是代碼、配置文件、IDE中出現(xiàn)的名詞,均采用英文原稱。

Roadmap 本文檔的目標(biāo)是,幫助讀者在Eclipse中將Struts2集成至一個(gè)嶄新的Dynamic Web Project。集成步驟大致如下:配置Struts2的代碼環(huán)境-> 在web.xml中加入Struts2功能-> 測(cè)試Struts2。文檔目標(biāo)達(dá)成的標(biāo)志是:頁(yè)面請(qǐng)求能夠通過(guò)Struts2的Action Mapping成功轉(zhuǎn)發(fā),并且基于Java的Struts2驗(yàn)證框架能夠生效。

集成步驟

引入Struts2相關(guān)的jar文件

Struts2 jars ? ? ? ? ? ? ? ? ? ? commons-fileupload-1.2.2.jar commons-io-2.1.jar commons-lang-2.4.jar commons-logging-1.1.1.jar freemarker-2.3.16.jar javassist.jar jstl-1.2.jar ognl-3.0.1.jar struts2-core-2.2.3.jar xwork-core-2.2.3.jar 加入build path 將以上10個(gè)jar文件,拷貝至WebContent/WEB-INF/lib下:

對(duì)于Web Dynamic Project,一般情況下,當(dāng)你向lib目錄下copy了jar文件,eclipse會(huì)自動(dòng)將jar文件加入build path下的名為Web App Libraries的Library。請(qǐng)確認(rèn)在工程下出現(xiàn)了名為Web App Libraries的Library。如果有,說(shuō)明這些jar文件已經(jīng)被添加至build path了:

如果在工程目錄下找不到名為Web App Libraries的Library,說(shuō)明jar文件沒(méi)有被添加至build path,需要進(jìn)行手動(dòng)添加。首先進(jìn)入build path設(shè)置界面,選中Libraries 頁(yè),并點(diǎn)擊Add JARs:

在JAR Selection窗口中,選中l(wèi)ib下所有的jar文件。選中后點(diǎn)擊OK:

你將看到被選中的jar文件已經(jīng)被添加至build path:

在工程中會(huì)出現(xiàn)一個(gè)名為Referenced Libraries的Libraries。這說(shuō)明jar文件已經(jīng)被添加至build path:

以上兩種方法都可以將jar文件添加至build path,它們的效果是一樣的。

配置web.xml 添加filter 在web.xml中添加一個(gè)filter:

struts2

org.apache.struts2.dispatcher.FilterDispatcher

filter-name表示filter的名字,你可以任意決定這個(gè)名字。filter-class表示使用哪個(gè)類作為filter,從這個(gè)類的全稱來(lái)判斷,可以發(fā)現(xiàn)FilterDispatcher是Struts2提供的一個(gè)類。它是Struts2轉(zhuǎn)發(fā)請(qǐng)求的起點(diǎn)。在web.xml中添加一個(gè)filter-mapping:

struts2

/*

filter-mapping用來(lái)映射url和filter的映射關(guān)系。filter-name表示filter的名字,這個(gè)名字必須和之前filter聲明中的filter-name一致。url-pattern表示哪些格式的url會(huì)被此filter濾中。/*表示在此web應(yīng)用域名下,所有的地址都會(huì)被filter濾中,換言之,所有的http請(qǐng)求都會(huì)通過(guò)Struts2進(jìn)行轉(zhuǎn)發(fā)。

filter的作用

通過(guò)以上的配置,F(xiàn)ilterDispatcher和url與filter-name聯(lián)系在了一起。

由于在web容器中注冊(cè)了FilterDispatcher這個(gè)filter,Struts2可以收到所有http://localhost:8080/tyland-b2b 的http請(qǐng)求。隨后,F(xiàn)ilterDispatcher會(huì)根據(jù)我們定義的action-mapping規(guī)則,將請(qǐng)求分發(fā)到指定的action類以及它的攔截器棧。最后,Struts2按照action-mapping規(guī)則,將后臺(tái)計(jì)算的結(jié)果返回給指定頁(yè)面。籠統(tǒng)地來(lái)說(shuō),Struts2就是這樣工作的,所以說(shuō),F(xiàn)ilterDispatcher是Struts2工作的入口。

編寫(xiě)代碼,測(cè)試Struts2 Struts2的環(huán)境已經(jīng)配置好了,基于action-mapping的轉(zhuǎn)發(fā)機(jī)制已經(jīng)可以運(yùn)行了。為了證明這一點(diǎn),請(qǐng)編寫(xiě)一些測(cè)試jsp頁(yè)面和java代碼。

在編寫(xiě)代碼的過(guò)程中,請(qǐng)確保代碼文件的位置如下圖所示:

代碼清單如下:

Java代碼

UserVO.java package com.tyland.b2b.vo;

// 一個(gè)Value Object(Data Model),用來(lái)存放用戶名、密碼 public class UserVO {

private String username;private String password;

// 成員變量password的getter方法。

// 在Strtus2中,用來(lái)在頁(yè)面和服務(wù)器間傳值的Value Object必須有g(shù)etter方法

public String getPassword(){

return password;

} } // 成員變量password的setter方法。

// 在Strtus2中,用來(lái)在頁(yè)面和服務(wù)器間傳值的Value Object必須有setter方法 public void setPassword(String password){ } this.password = password;// 同password

public String getUsername(){ } return username;// 同password

public void setUsername(String username){ } this.username = username;BaseAction.java package com.tyland.b2b.web.base;

import com.opensymphony.xwork2.ActionSupport;

// 為了代碼的靈活性和可擴(kuò)展性,請(qǐng)聲明一個(gè)BaseAction基類

// BaseAction繼承Struts2的ActionSupport,因?yàn)槲覀兿胧褂肧truts2的一些額外幫助。// 對(duì)于ActionSupport的繼承不是必須的

public class BaseAction extends ActionSupport {

private static final long serialVersionUID = ***74952195L;} UserAction.java package com.tyland.b2b.web;

import com.tyland.b2b.vo.UserVO;import com.tyland.b2b.web.base.BaseAction;

// 自定義的Action類,繼承BaseAction // 由于繼承了ActionSupport,我們可以使用Struts2默認(rèn)的action方法execute()// 由于繼承了ActionSupport,我們可以使用Struts2默認(rèn)的校驗(yàn)方法validate()public class UserAction extends BaseAction {

private static final long serialVersionUID =-7***3684190L;

// 用來(lái)在頁(yè)面和服務(wù)器之間傳遞用戶名、密碼的Value Object。變量名任意。

private UserVO userVO;

執(zhí)行。// 用來(lái)在頁(yè)面和服務(wù)器之間傳遞message變量。名稱任意。private String message;//用來(lái)在頁(yè)面和服務(wù)器之間傳遞sayHiTo變量。名稱任意。private String sayHiTo;// 用來(lái)傳值的變量必須有g(shù)etter方法 public UserVO getUserVO(){ return userVO;}

//用來(lái)傳值的變量必須有setter方法

public void setUserVO(UserVO userVO){ } this.userVO = userVO;public String getMessage(){ } return message;public void setMessage(String message){ } this.message = message;public String getSayHiTo(){ } return sayHiTo;public void setSayHiTo(String sayHiTo){ } this.sayHiTo = sayHiTo;// Override聲明說(shuō)明這個(gè)方法復(fù)寫(xiě)或?qū)崿F(xiàn)了父類或接口方法。

// 如action-mapping中不顯示指定別的方法,struts2會(huì)將execute()作為默認(rèn)的action方法// 返回的SUCCESS常量,來(lái)自ActionSupport,值為“success”。

// action-mapping會(huì)根據(jù)不同的返回值采取不同的轉(zhuǎn)發(fā)或頁(yè)面跳轉(zhuǎn)動(dòng)作。@Override

public String execute()throws Exception {

} System.out.println(“******execute******”);System.out.println(userVO.getUsername()+ “ logins”);return SUCCESS;

// 在Struts2執(zhí)行execute()之前,會(huì)先執(zhí)行validateExecute()進(jìn)行用戶輸入驗(yàn)證 // 這個(gè)方法名必須符合Struts2驗(yàn)證框架所規(guī)定的命名規(guī)范 public void validateExecute(){

}

} System.out.println(“******validateExecute******” + userVO.getUsername());if(null == userVO.getUsername()|| userVO.getUsername().length()< 5){ this.addFieldError(“username”, “USERNAME ERROR”);} if(null == userVO.getPassword()|| userVO.getPassword().length()< 5){ this.addFieldError(“password”, “PASSWORD ERROR”);} // 一個(gè)自定義方法。通過(guò)在action-mapping中的設(shè)置,可以實(shí)現(xiàn)使用POJO的自定義服務(wù)配置 public String sayHi()throws Exception {

} System.out.println(“say hi to ” + getSayHiTo());return SUCCESS;// 符合驗(yàn)證框架命名規(guī)范的、真對(duì)于sayHi()的驗(yàn)證方法 public void validateSayHi(){

} System.out.println(“******validateSayHi******” + getSayHiTo());if(null == getSayHiTo()|| getSayHiTo().length()< 5){ this.addFieldError(“sayHiTo”, “SAYHITO ERROR”);} ExampleAction.java package com.tyland.b2b.web;

import com.tyland.b2b.web.base.BaseAction;

public class ExampleAction extends BaseAction {

private static final long serialVersionUID =-***7281L;

private String message;private String sayHiTo;

public String getMessage(){

return message;}

public void setMessage(String message){

this.message = message;}

public String getSayHiTo(){

return sayHiTo;}

} public void setSayHiTo(String sayHiTo){ } this.sayHiTo = sayHiTo;public String finish(){

} System.out.println(“example finished”);setMessage(getSayHiTo());return SUCCESS;JSP代碼

index.jsp <%@ page language=“java” contentType=“text/html;charset=UTF-8”

pageEncoding=“UTF-8”%>

<%@ taglib uri = “http://java.sun.com/jsp/jstl/core” prefix = “c” %>

Hello World

第五篇:Struts2試題

Struts2 試題

1.struts2的執(zhí)行流程?

客戶端提交一個(gè)HttpServletRequest請(qǐng)求(action或JSP頁(yè)面)

請(qǐng)求被提交到一系列Filter過(guò)濾器,如ActionCleanUp和FiterDispatcher等

FilterDispatcher是Struts2控制器的核心,它通常是過(guò)濾器鏈中的最后一個(gè)過(guò)濾器 詢問(wèn)ActionMapper是否需要調(diào)用某個(gè)action來(lái)處理

如果ActonMapper據(jù)誒的那個(gè)需要調(diào)用某個(gè)A傳統(tǒng),F(xiàn)ilterDispatcher則把請(qǐng)求教到ActionProxy,由其進(jìn)行處理

ActionProxy通過(guò)Configuration Manager詢問(wèn)框架配置文件,找到需要調(diào)用的Action類 ActionProxy創(chuàng)建一個(gè)ActionInvocation實(shí)例,而ActionInvocation通過(guò)代理模式調(diào)用action Action執(zhí)行完畢后,返回一個(gè)result字符串,此時(shí)再按相反的順序通過(guò)Interceptor攔截器 最后ActionInvocation負(fù)責(zé)根據(jù)struts配置文件中配置的result元素,找到與返回值對(duì)應(yīng)的result

2.struts2的web里需要配置什么?

1. 2. 3.struts2 4. 5.org.apache.struts2.dispatcher.FilterDispatcher 6. 7. 8. 9. 10.struts2 11./* 12.

3.struts.xml文件哪個(gè)常量可以實(shí)現(xiàn)不用重新啟動(dòng)服務(wù)就可以得到反饋? ?

4.struts中的package的作用是什么?namespace可以為空嗎?如果namespace為空會(huì)意味著什么呢?

標(biāo)識(shí)

可以、Timmer

如果沒(méi)寫(xiě),說(shuō)明該包為默認(rèn)空間 只要敲index沒(méi)有精確對(duì)應(yīng)的package都交給namespackage 如果還沒(méi)有就崩潰

5.Action 的實(shí)現(xiàn)通集成常用那種方法? 一種是直接實(shí)現(xiàn)自己的Action 另一種是實(shí)現(xiàn)Action的接口 繼承ActionSupport

6.路徑設(shè)置用什么路徑,絕對(duì)還是相對(duì)? 都可以

7.通配符有幾種?要遵循什么原則? {1}

方法名

8.Action的屬性?

path屬性:指定請(qǐng)求訪問(wèn)Action的路徑

type屬性:指定Action的完整類名

name屬性:指定需要傳遞給Action的ActionForm Bean scope屬性:指定ActionForm Bean的存放范圍

validate屬性:指定是否執(zhí)行表單驗(yàn)證

input屬性:指定當(dāng)表單驗(yàn)證失敗時(shí)的轉(zhuǎn)發(fā)路徑。

元素還包含一個(gè)子元素,它定義了一個(gè)請(qǐng)求轉(zhuǎn)發(fā)路徑。

9.用于讀取資源文件,實(shí)現(xiàn)國(guó)際化的Struts2的標(biāo)簽()。

10.一下關(guān)于struts的描述中,不正確的是(D)struts 是一個(gè)基于JAVA EE的MVC struts2的框架配置文件是struts-configxml struts2的控制組建核心包括核心控制和業(yè)務(wù)控制器

在struts中解決中文亂碼可以通過(guò)修改struts。I18n。encoding的值為GBK來(lái)實(shí)現(xiàn) 11.不屬于Struts2的動(dòng)作類的常量返回值的是(C)

A.success

B.input

C.never

D.login 12.一下不屬于Struts2動(dòng)作執(zhí)行的結(jié)果類型是(A)a.a(chǎn)ction b.redirect c.redirectAction d.dispatcher 13.在struts.xml中。假如在一個(gè)package中沒(méi)有配置namespace,那么在其中配置一個(gè)Action名字叫做login,它的result是這樣配置的/login.jsp,已知在此配置文件中還有另一個(gè)name為user的package其中也有一個(gè)Action名字為login,它的result是這樣配置的/loginUser.jsp那么在以下什么情況下將能訪問(wèn)到login.jsp A A.在根路徑后輸入/login B.在根路徑后輸入/user/login C.在根路徑后輸入/login/user D.在根路徑后輸入/abc/login

14.正規(guī)開(kāi)發(fā)中,在使用struts2時(shí)定義Action使用哪種方式。B A.直接定義Action類。B.從ActionSupport繼承。C.從Action繼承。D.實(shí)現(xiàn)Action接口。

15.不同的線程在調(diào)用Action時(shí)創(chuàng)建幾個(gè)Action實(shí)例。C A.1個(gè) B.2個(gè)

C.每個(gè)線程創(chuàng)建1個(gè)。D.可以自定義配置。

16.struts2的體系結(jié)構(gòu)主要包括那幾個(gè)部分(A)A.模型層

B.struts控制器組件 C。struts配置文件 D。struts標(biāo)簽庫(kù)

17.struts提供了Action接口定義了5個(gè)標(biāo)準(zhǔn)字符串常量,不包括的有(C)A SUCCESS

B NONE C REG D LOGIN 18.struts中數(shù)據(jù)驗(yàn)證失敗時(shí),通過(guò)(B)標(biāo)簽顯示錯(cuò)誤信息。A

B

C

D

19.列舉出action執(zhí)行結(jié)果類型,并說(shuō)明用途。

默認(rèn)結(jié)果類型是dispatcher chain:Action鏈?zhǔn)教幚淼慕Y(jié)果類型,也就是將結(jié)果轉(zhuǎn)發(fā)到這個(gè)action中。dispatcher:用于整合JSP的結(jié)果類型

redirect:實(shí)際上dispatcher和redirect的區(qū)別就是在于轉(zhuǎn)發(fā)和重定向的區(qū)別。redirect-action:重定向action

20.簡(jiǎn)述struts2文件上傳的方法。

Commons FileUpload通過(guò)將HTTP的數(shù)據(jù)保存到臨時(shí)文件夾,然后Struts使用fileUpload攔截器將文件綁定到Action的實(shí)例中。從而我們就能夠以本地文件方式的操作瀏覽器上傳的文件。

21.在struts2標(biāo)簽內(nèi)部 能否使用el表達(dá)式?

不可

22.struts2中result-type的chain和redirectAction的區(qū)別

chain,它是一個(gè)璉式的,是從一個(gè)Action轉(zhuǎn)發(fā)另外一個(gè)Aciton redirectAction,是從新請(qǐng)求一個(gè)Action

23.能否取到Httpsession的值 不可

24.action的name里邊寫(xiě)的名字是什么地方用的? From 表單action引用

25.action的class里面寫(xiě)的是什么? Action相應(yīng)類的詳細(xì)路徑

26.action的extends里面調(diào)用的是什么?

從另外一個(gè)包繼承、相當(dāng)于擁有即承包的所有配置

27.如果不寫(xiě)action的后面mothod,默認(rèn)的調(diào)用的方法是什么,如果寫(xiě)的話,寫(xiě)的時(shí)候有什么需要注意的?

不寫(xiě)會(huì)默認(rèn)調(diào)用最上面的方法

28.輸出值的strtus標(biāo)簽是什么?

s:property

28.循環(huán)的struts標(biāo)簽是什么?

s:iterator

29.判斷的strtuts標(biāo)簽是什么?

s:if

30.顯示文本的strtuts標(biāo)簽是什么?

31.要調(diào)用struts標(biāo)簽需要導(dǎo)入什么? <%@taglib uri=“/struts-tags” prefix=“s”%>

32.如果需要調(diào)用sc:datetimepicker需要導(dǎo)入什么,sc代表的是什么意思?

33.中的s代表的是什么,這個(gè)標(biāo)簽是干什么用的?

獲取前臺(tái)文本的值

34.請(qǐng)簡(jiǎn)述前臺(tái)提交后是如何到達(dá)后臺(tái)action的。

通過(guò)from表單action找到struts配置文件相應(yīng)action的類 再去找相應(yīng)action類里的方法

下載配置Struts2后如何使用servlet五篇范文word格式文檔
下載配置Struts2后如何使用servlet五篇范文.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    struts2課件

    —高級(jí)軟件人才實(shí)作培訓(xùn)專家!Struts2的啟動(dòng)配置在struts1.x中,struts框架是通過(guò)Servlet啟動(dòng)的。在struts2中,struts框架是通過(guò)Filter啟動(dòng)的。他在web.xml中的配置如下:struts2o......

    Struts2習(xí)題

    Struts2習(xí)題1 1.struts中的package的作用是什么?namespace可以為空嗎?如果namespace為空會(huì)意味著什么呢? 標(biāo)識(shí)、 可以 、如果沒(méi)寫(xiě),說(shuō)明該包為默認(rèn)空間 2.Action 的實(shí)現(xiàn)通集成常......

    Servlet和JSP經(jīng)驗(yàn)總結(jié)[精選合集]

    Servlet和JSP經(jīng)驗(yàn)總結(jié) 這里介紹Servlet和JSP經(jīng)驗(yàn)總結(jié),包括在servlet的init方法中緩存數(shù)據(jù)、禁止Servlet和JSP自動(dòng)重載、將頁(yè)面輸出進(jìn)行壓縮和正確地確定javabean的生命周期......

    使用struts2和AJAX實(shí)現(xiàn)文件上傳并顯示進(jìn)度條(范文大全)

    使用struts2和AJAX實(shí)現(xiàn)文件上傳并顯示進(jìn)度條 (2011-05-25 21:48:48) 轉(zhuǎn)載▼ 分類:java點(diǎn)滴 這個(gè)是剛進(jìn)入公司,技術(shù)總監(jiān)叫我做的東西,開(kāi)始的確沒(méi)有什么頭緒,以前做的項(xiàng)目里只做......

    國(guó)有資產(chǎn)配置、使用、處置管理制度

    國(guó)有資產(chǎn)配置管理制度 1、按照“依法配置、保障需要、科學(xué)合理、優(yōu)化結(jié)構(gòu)、勤儉節(jié)約、從嚴(yán)控制”的原則進(jìn)行資產(chǎn)配置。 2、每年的4月份,各部門(mén)應(yīng)上報(bào)下一年度的資產(chǎn)配置計(jì)劃,......

    全國(guó)PETCT配置使用調(diào)查報(bào)告

    全國(guó)PETCT配置使用調(diào)查報(bào)告 http://www.tmdps.cn 日期:2011-06-29 10:02 來(lái)源:愛(ài)愛(ài)醫(yī) 全國(guó)PET-CT(PET)配置、使用情況調(diào)查報(bào)告 2009年6月,中華醫(yī)學(xué)會(huì)核醫(yī)學(xué)分會(huì)受國(guó)家衛(wèi)生......

    struts2復(fù)習(xí)題(含答案)

    Struts2復(fù)習(xí)題 1. 以下屬于struts2的控制器組件是: A.ActionB.ActionForm C.ActionServlet D.dispatchAction 2. 以下屬于struts2配置文件中的配置元素是:(多選) A. B. C. D......

    struts2綜合試卷范文合集

    Struts2學(xué)習(xí)增強(qiáng)練習(xí)課程名稱: Struts2學(xué)習(xí)增強(qiáng)練習(xí)考試時(shí)間 xx分鐘(閉卷■) 不定項(xiàng)選擇題 1. 開(kāi)發(fā)struts2 web項(xiàng)目,需要導(dǎo)入哪些jar包 A 必須導(dǎo)入struts2 解壓lib下所有......

主站蜘蛛池模板: 国产一区二区三区免费观看在线| 国产高清一区二区三区视频| 色婷婷亚洲一区二区三区| 黑人狠狠的挺身进入| 国产亚洲综合一区二区三区| 久久精品国产亚洲av果冻传媒| 成人综合婷婷国产精品久久蜜臀| 成人亚洲性情网站www在线观看| 亚洲欧洲国产成人综合在线| 日日碰狠狠躁久久躁2023| 亚洲精品无码鲁网中文电影| 午夜精品影视国产一区在线麻豆| 国产69精品久久久久99尤物| 亚洲精品人成无码中文毛片| 精品久久久久久久国产潘金莲| 久久久久99精品国产片| 亚洲日本va午夜在线电影| 亚洲第一区无码专区| 97人妻免费公开在线视频| 亚洲成av人片一区二区| 717午夜伦伦电影理论片| 天天摸夜夜添狠狠添婷婷| 美女脱了内裤张开腿让男人桶网站| 国产亚洲欧美日韩在线一区二区三区| 无码高潮少妇多水多毛| 爱情岛永久地址www成人| 国产最新av在线播放不卡| 亚洲精品国产免费无码网站| 中国娇小与黑人巨大交| 久久综合乱子伦精品免费| 久久久橹橹橹久久久久高清| 亚洲愉拍自拍另类天堂| 无码精品人妻一区二区三区涩爱| 日本一卡二卡不卡视频查询| 国产在线拍揄自揄拍无码| 69堂人成无码免费视频果冻传媒| 国产激情久久久久影院老熟女| 好爽毛片一区二区三区四| 18禁免费无码无遮挡不卡网站| 人妻少妇久久久久久97人妻| 四虎影视在线影院在线观看|