① struts2中該如何配置
你這個是struts1的配置方法吧,struts2要在struts.xml里配
在struts.xml里配這樣的:
<package name="example(包名,隨便取)" namespace="/example(包路徑)" extends="struts-default">
<action name="Registration_*" method="" class="類路徑">
<result name="input">/Registration.jsp</result>
</action>
</package>
② eclipse怎麼配置struts
eclipse配置成struts2的方法:
1、通過菜單新建項目,打開如下畫面,選擇建立動態項目
③ struts2配置action一般是怎麼配置的
這要看實際需求 沒有統一的 你可以使用通配符 ,不建議使用 ,因為不好理解 如果出錯也不好找(我老師建議的) 你找本書看看 孫鑫的
④ struts的配置問題
struts框架 主要是負責MVC模式中的 View(視圖,可以理解為JSP頁面) 學習struts就是為了防止在JSP中寫<% %>這樣的代碼,讓JSP充當顯示功能,至於調用業務邏輯 就是struts完成,也就是 解耦合。把不同能功能的類(負責插入,負責更新,負責刪除的) 通過配置文件粘合起來。這樣在企業開發中分工明確,開發效率高。
⑤ Struts2開發環境如何配置
你網路搜一下 浪曦 裡面的struts2課程比較全,應該有環境配置教程
⑥ struts配置
web.xml 里定義struts的actionServlet,還要定義一些參數,如
<servlet>
<servlet-name>actionServlet</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>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>
⑦ struts2 的struts.xml文件怎麼配置
<!-- include節點是struts2中組件化的方式 可以將每個功能模塊獨立到一個xml配置文件中 然後用include節點引用 -->
<include file="struts-default.xml"></include>
<!-- package提供了將多個Action組織為一個模塊的方式
package的名字必須是唯一的 package可以擴展 當一個package擴展自
另一個package時該package會在本身配置的基礎上加入擴展的package
的配置 父package必須在子package前配置
name:package名稱
extends:繼承的父package名稱
abstract:設置package的屬性為抽象的 抽象的package不能定義action 值true:false
namespace:定義package命名空間 該命名空間影響到url的地址,例如此命名空間為/test那麼訪問是的地址為http://localhost:8080/struts2/test/XX.action
-->
<package name="com.kay.struts2" extends="struts-default" namespace="/test">
<interceptors>
<!-- 定義攔截器
name:攔截器名稱
class:攔截器類路徑
-->
<interceptor name="timer" class="com.kay.timer"></interceptor>
<interceptor name="logger" class="com.kay.logger"></interceptor>
<!-- 定義攔截器棧 -->
<interceptor-stack name="mystack">
<interceptor-ref name="timer"></interceptor-ref>
<interceptor-ref name="logger"></interceptor-ref>
</interceptor-stack>
</interceptors>
<!-- 定義默認的攔截器 每個Action都會自動引用
如果Action中引用了其它的攔截器 默認的攔截器將無效 -->
<default-interceptor-ref name="mystack"></default-interceptor-ref>
<!-- 全局results配置 -->
<global-results>
<result name="input">/error.jsp</result>
</global-results>
<!-- Action配置 一個Action可以被多次映射(只要action配置中的name不同)
name:action名稱
class: 對應的類的路徑
method: 調用Action中的方法名
-->
<action name="hello" class="com.kay.struts2.Action.LoginAction">
<!-- 引用攔截器
name:攔截器名稱或攔截器棧名稱
-->
<interceptor-ref name="timer"></interceptor-ref>
<!-- 節點配置
name : result名稱 和Action中返回的值相同
type : result類型 不寫則選用superpackage的type struts-default.xml中的默認為dispatcher
-->
<result name="success" type="dispatcher">/talk.jsp</result>
<!-- 參數設置
name:對應Action中的get/set方法
-->
<param name="url">http://www.sina.com</param>
</action>
</package>
⑧ Eclipse怎樣配置struts2
Eclipse配置struts2開發環境:
1:在struts官網下載Struts2的最新版即下載Full Distribution,這是Struts2的完整版
2:解壓下載的壓縮包。在struts-2.3.14.3 -> lib路徑下拷貝出上圖所示的8個jar包,放入java工程下的lib目錄內。
3:在web.xml配置文件中,配置Struts2的核心Filter。代碼如下:
<span style="white-space:pre"> </span><span style="color:#3366ff;"><filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping></span>
4、為了讓Struts運行起來,在src目錄下創建Struts.xml配置文件。代碼如下:
<span style="color:#3366ff;"><?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="test" extends="struts-default">
<action name="login" class="com.rankexam.control.LoginAction">
<!-- 定義三個邏輯視圖和物理資源之間的映射 -->
<result name="input">/Login.jsp</result>
<result name="error">/Error.jsp</result>
<result name="success">/Welcome.jsp</result>
</action>
</package>
</struts></span>
5、創建處理用戶請求的Action類,該類繼承於ActionSupport類。代碼如下:
<span style="color:#3366ff;">package com.rankexam.control;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
/**
* 默認版本序列號
*/
private static final long serialVersionUID = 1L;
private String username;
private String password;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String execute() throws Exception {
if(getUsername().equals("") && getPassword().equals("")){
ActionContext.getContext().getSession().put("user", getUsername());
return "success";
}else{
return "error";
}
}
}</span>
⑨ struts的配置 paramsPrepareParamsStack
struts-default.xml中定義了一系列的攔截器和攔截器鏈
同時也定義了一個默認的攔截器defaultStack,一旦定義了默認的攔截器,
該攔截器就會對包中的所有的Action起作用,當然如果你的Action中顯式地定義了攔截器,
默認攔截器就會失去作用,如果想不讓他失去作用,
也必須顯式地定義系統默認的攔截器。
</interceptors>
<default-interceptor-ref name="defaultStack"/>
<default-class-ref class="com.opensymphony.xwork2.ActionSupport"/>
</package>
「defaultStack」和「paramsPrepareParamsStack」攔截器棧都提供了攔截器大部分功能
只是攔截順序不一樣。一般情況下會使用前者,但是某些涉及參數傳遞和取值的問題
例如實現了ModelDriven介面的某些時候,使用後者,就不用自己再額外編寫攔截器類了
defaultStack
<interceptor-stack name="defaultStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
paramsPrepareParamsStack
<interceptor-stack name="paramsPrepareParamsStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>
defaultStack無法接收prepare()需要的數據,而應藉助paramsPrepareParamsStack攔截器棧
使用prepare攔截器之前,應先調用params攔截器,prepare() 才能接收到表單數據
基於這個思路,可以通過各種手段將params攔截器放置在prepare攔截器之前即可
比如將defaultStack中的所有攔截器拷貝到struts.xml的我們自定義的myStack攔截器棧中
再按照paramsPrepareParamsStack攔截器棧中的params和prepare順序修改二者位置即可
⑩ 如何配置struts.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<!-- struts是struts2配置文件的根元素 -->
<struts>
<!-- 會員管理 -->
<package name="user" extends="zqzj-default" namespace="/user">
<action name="user" class="userManageAction" method="user">
<result>/WEB-INF/pages/user/user.jsp</result>
</action>
</package>
</struts>
這就是一個Struts2.xml的例子。
<package 里的name名字隨便起,但是不能和其他的package的name重復。namespace可不寫,寫了之後訪問路徑:項目名+namespace名字+jsp頁面名
<action name也是隨便起,不過習慣上是和action里你要請求的方法一致,class是action類的全類名路徑,我這個SSH框架的所以不用全路徑。
<result 是返回類型,裡面有type屬性,默認是請求轉發,name默認是success