A. struts2配置action一般是怎麼配置的
這要看實際需求 沒有統一的 你可以使用通配符 ,不建議使用 ,因為不好理解 如果出錯也不好找(我老師建議的) 你找本書看看 孫鑫的
B. Struts2開發環境如何配置
你網路搜一下 浪曦 裡面的struts2課程比較全,應該有環境配置教程
C. 如何配置struts2的struts.xml文件
1
ex.jsp,另一個是給用戶反饋錄入成功的界面success,jsp。我主要講struts.xml配置,其他界面我把代碼以圖片形式附上。首先在MyEclipse 10的Package Explorer面板單擊右鍵選擇new然後在二級菜單中看到Web Project,選擇然後給工程命名,按照之前經驗教程配置好struts 2環境。
2在MyEclipse10上配置Struts2
新建index.jsp和success.jsp頁面,代碼如下,一定要注意index.jsp頁面,也就是錄入信息頁面,這里需要注意的是action屬性的值,在後面配置struts.xml需要使用。
3
首先是在src目錄下面創建action包,在包裡面創建RegAction.java文件,該文件為處理業務邏輯頁面,並放回處理結果,這里是以字元串的形式返回給struts.xml文件。
D. struts2怎麼配置安裝
個人建議告訴你以後怎麼學新技術
你應該已經下載struts了吧
首頁 看demo 找到裡面的demo文件夾 裡面有例子
第一個要的是 裡面的web.xml文件
然後 是 src下面的配置文件 struts.xml
文件 就這兩個了 你到項目里 精簡一下就是個簡單的demo配置了
這是學一門新技術的入門流程
E. 怎麼配置struts2.0
struts2.0 配置篇
1、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>
struts2</display-name>
<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>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
其中,綠底色的部分是通用的部分。
2、struts.xml文件
這個文件的配置是最為重要的,也是比較容易出問題的地方,初學者對其中很多的參數不太明白,導致調試時候經常出錯。下面先給出一個配置的代碼:
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<include file="struts-default.xml"/>
<package name="package1" extends="struts-default">
<action name="Hello" class="tutorial.HelloWorld">
<result>HelloWorld.jsp</result>
</action>
<action name="HelloWorld" class="package1.HelloWorld">
<result>HelloWorld.jsp</result>
</action>
</package>
</struts>
1)對於<include file="struts-default.xml"/>這行代碼,可以要也可以不要。
2)package的name是可以虛構的,並不一定要在classes目錄下要有一個與這個name名對應的包名;像上面的配置文件中的name="package1"可以隨便改成name="aaa"等是不影響結果的,只不過這個package名可以使得多個action聚合在一起,對大型的模塊設計的時候是很有幫助的。
3)<action name="HelloWorld" class="package1.HelloWorld">中的HelloWorld這個name並不一定要與package1包中的類名相同,比如<action name="Hello" class="tutorial.HelloWorld">這樣兩個名字完全不一樣是可以的,但是"Hello"這個name必須與輸入的jsp頁面裡面的action內容是一致的,如<s:form action="Hello">
4)從上面的配置文件可以看出,在classes目錄下面有兩個包,一個是tutorial,一個是package1。
3、struts.properties文件
這個文件最簡單,它與struts.xml文件一樣,都是位於classes目錄下面。其內容為:
struts.devMode = true
struts.enable.DynamicMethodInvocation = false的
4、建議初學者先看看為Struts 2.0做好准備這篇文章,這里每個步驟講的非常的詳細,但是有些細節作者沒有寫出來,讓很多初學者調試的時候出很多錯誤,比如The requested resource (/項目名/HelloWorld) is not available.,java.lang.NullPointerException等等。
1)關於工具web tools platform,這是一個eclipse集成了很多web開發下所需工具的一個比較好的平台,它在eclipse的網站下面http://www.eclipse.org/webtools/有下載。打開這個頁面的右邊download欄目下面有wtp的下載,點擊這個去下載,如果不行,就再仔細找找了。
2)如果出現The requested resource (/項目名/HelloWorld) is not available.的話,就仔細找找看是不是輸入的時候把配置文件等等地方寫錯了,對於初學者最容易把其中的字母搞錯,比如struts是不寫成了其它的形式,反正出現這個錯誤就是說訪問的資源不存在,那就肯定要麼是配置文件出錯了,要麼是你的類文件沒有放在classes目錄下面,無外這兩種情況。錯了不要緊,沒有錯誤,哪會有進步呢。
3)如果你真的發現什麼錯誤都沒有,但就是盡管調試了半天還是調試不成功,那就考慮你的JDK版本是不是和你下載的wtp搭配了,建議把原來低版本的JDK卸載,裝上新去下載的JDK,寫這篇博客時,最新版本是jdk-1_5_0_10。如果還不行,你就把tomcat或者其它的web伺服器換版本,總之要不怕錯誤和失敗,要勤於不斷的調試。
網路博客雖然訪問速度快,但是連粘貼個代碼都不方便,真希望能改進改進。
F. 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>
G. Struts2中怎樣配置struts。xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">//這里要根據你調用的struts的核心Jar包來寫
<struts>
<constant name="struts.i18n.encoding" value="utf-8"/>
<constant name="struts.ui.theme" value="simple"/>
<constant name="struts.custom.i18n.resources" value="application"></constant>
<package name="default" extends="struts-default" namespace="/">
<action name="action名稱" class="action地址">
<result name="xxx">/xxx.jsp</result>
</action>
</package>
</struts>
H. 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>
I. 配置struts2 默認歡迎頁的幾種辦法
首先需要明確的是struts過濾器配置映射的模式是路徑匹配還是擴展匹配,如果url-pattern配置為
/*,如果不做特殊處理,是不會轉到welcome-file-list設置的文件的。
這種情況,有兩種辦法解決默認轉向:
a.一種是在struts.xml中定義一個默認的action,設置
<default-action-ref name="index"></default-action-ref>
<action name="index">
<result type="dispatcher">login.jsp</result>
</action>
b.一種是定義過濾器繼承struts的過濾器,把上下文根路徑排除,
不讓根路徑請求轉發到struts的過濾器中去,同時在web.xml定義默認的歡迎頁。
歡迎頁可以直接是Html或者jsp,在他們中可以定義跳轉的action路徑。
如: <meta http-equiv='refresh' content='0;url=login.jsp'> content中第一個參數為多少秒後跳轉
第二種如果把url-pattern配置為 *.action ,
在web.xml定義默認的歡迎頁即可,
但是所有的action請求的url都需要加上action後綴否則找不到action配置
J. struts2配置問題
寫什麼都可以,只要兩個filter-name節點的值是一樣的就行,一般的習慣是寫struts2