1. 程式人生 > >Struts2學習筆記1---HelloWorld

Struts2學習筆記1---HelloWorld

      Struts2 學習筆記的第一篇:環境搭建及HelloWorld的實現。

1、搭建Struts2 的環境。在Myeclipse裡新建一個WEB工程,我起名為:Struts2_01。由於要用到一些Struts的類庫,這裡我新建了一個使用者定義的類庫檔案:struts,並引入相應的jar包。具體步驟不詳細說了。

2、配置web.xml資訊:

		<?xml version="1.0" encoding="UTF-8"?>
		<web-app version="2.5" 
			xmlns="http://java.sun.com/xml/ns/javaee" 
			xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
			xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
			http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
		  	<welcome-file-list>
		   		<welcome-file>indx.jsp</welcome-file>
		  	</welcome-file-list>
		  
			   <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>
		</web-app>

對於具體的內容可以到struts目錄下的資料夾下copy一份,自己修改。這裡面主要是設定了一個過濾器,過濾所有的URL請求。

3、配置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>
		    <constant name="struts.enable.DynamicMethodInvocation" value="true" />
		    <constant name="struts.devMode" value="true" />
		    <package name="default" namespace="/" extends="struts-default">
		        <default-action-ref name="index" >
		        </default-action-ref>
		        <action name="index" class="com.xiyang.Action.Hello">
		        	<result>/index.jsp</result>	
		        </action>  
		    </package>
		    <!-- Add packages here -->
		</struts>

這個檔案也是copy過來的,注意修改devModetrue,即開啟開發模式。在這個檔案裡面定義了一個action,要設定相應的類目錄:com.xiyang.Action.Hello,所以需要新建一個類檔案,位於com.xiyang.Action這個包下面,Action實現一般是繼承自ActionSupport,然後重寫裡面的execute方法。當然針對於這個專案,我並沒有改變裡面的內容。

		package com.xiyang.Action;
		import com.opensymphony.xwork2.ActionSupport;
		
		public class Hello extends ActionSupport{
			@Override
			public String execute() throws Exception {
				// TODO Auto-generated method stub
				return super.execute();
			}
		}

然後可以建立index.jsp檔案,使之顯示Hello World!。

4.將寫好的專案,部署到Tomcat伺服器上。然後開啟瀏覽器輸入地址:http://localhost:8080/Struts2_01/,如果不出意外的話你就能夠看到HelloWold了。

注意問題:struts.xml不自動提示。

解決方案:

1.window preferences 搜尋 catalog – add

2.選擇key typeURI

4.location: 對應的dtd檔案,位於struts-core包中,解壓開,指定相應位置,如:D:\struts-2.1.6\lib\struts2-core-2.1.6\struts-2.0.dtd