Struts 2-入門学習



Struts 2入門
 
Struts 2はStrutsとwebworkに基づいて形成されており、Struts 1よりも強力な機能を提供しています.(Struts 2はwebworkの派生と言える)
一、Struts 2を使用するために必要なjarパッケージ
:commons-filoupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
ognl-3.0.jar//オブジェクト表現言語
strus2-core-2.2.1.1.JAr//struts 2コアライブラリ
xwork-core-2.2.1.1.jar
freamarker-2.3.16.jar//struts 2.0からこのjarパッケージが必要です
javassist-3.7.ga.jar
 
二、Struts 2のプロファイルの作成
:srcの下にstrutsを作成します.xml//struts 2をインポートする.0.dtd struts 2-core-2.2にあります.1.1.JArのディレクトリの下
/*srcの下にstrutsを作成する理由xml
Struts 2フレームワークの本当のプロファイルはプロジェクトのclassesファイルにあるので
srcの下に作成されたのは、IDEがStrutsが実際に実行しているプロファイルに自動的にコピーできるようにするためです.
*/
 
//    struts.xml
		<?xml version="1.0" encoding="UTF-8"?>
		   
<!DOCTYPE struts PUBLIC 
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
			"http://struts.apache.org/dtds/struts-2.0.dtd">
			
<struts>
<package name="struts2" extends="struts-default">
        //   struts-default.xml
	//    Action  
	/*package  name                packeage   */
	<action name="login" class="org.viancent.action.LoginAction">
		<result name="success">/result.jsp</result>
/*
		result         Type                dispathcer     redirect        struts-default.xml    
*/
	</action>
</package>	
</struts>

//struts 2はwebです.xmlの構成は以下の通りである:struts 2はwebに配置する必要がある.xmlファイルにフィルタを設定する
<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> //   ,     "/*.action" (    “*.action”           Jsp  struts2         ,       )
</filter-mapping>

 
// LoginAction     
		public class LoginAction {
		private String username;  
		/*
		           ,         LoginAction  
		(set+            :setUsername()    
		<input type="text" name="userName" id="userName">  )    ,
		*/		
		private String password;
		//                ,          request    

		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() {
			return "success";
		}
		}

//index.jspの情報は次のとおりです.
 
<body>
	<form action="login.action"> 
       //    struts.xml              Action    name    +.action
		username:<input type="text" name="username" id="username" />
		<br />
                password:<input type="password" name="password" id="password"/>
		<br />
		<input type="submit" value="submit" />
	 </form>
</body>

//resultを設定します.jsp結果ページの表示
//サーバの起動
		// tomcat apache-tomcat-6.0.14    config     service.xml
		/*    <host>           
		<Context path="/struts2" docBase="C:\Users\Administrator\Workspaces\MyEclipse 8.5\Struts2\WebRoot"
		reloadable="true"/>
		reloadable :                 
		path:            
		docBase:          WebRoot  
		*/

//ブラウザで
//   http://localhost:8080/struts2/   index.jsp  

//struts 2プロジェクトで発生する可能性のある例外
a):java.lang.reflect.InvocationTargetException
Caused by: java.lang.IllegalArgumentException: Javassist library is missing in classpath! Please add missed dependency!
解析:この問題はプロジェクトにjavassist-3.7が欠けていることを示している.Ga.jarこの相違はstruts 2によく現れる.2.1.1バージョンの古いバージョンでは、このjarパッケージはstruts 2ライブラリにカプセル化されているので、このような例外は発生しません.
b):There is no Action mapped for namespace/and action name login
解析:この問題は、サーバが対応するacionオブジェクトを見つけられなかった理由についていくつかあります.
1.struts.xmlは書き間違えて、大文字と小文字を区別します
2.urlアクセスのationの名前エラー
3.struts.xmlの位置エラー
以前書いたことは、少しでも貢献して力を尽くしましょう.続きはもっと多くの文章があるので、みんなと勉強したいです.間違いがあれば教えてください.