最近看Struts2,留個腳印。自己構建一個Struct2後的目錄結構
1、Java Resources的src下是源碼,例如Action類。還有一個struts.xml的配置文件,主要內容是在Action等操作後需要跳轉到的頁面配置
<?xml version="1.0" encoding="GBK"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="lee" extends="struts-default">
<action name="login" class="org.crazyit.app.action.LoginRegistAction" method="login">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
<result name="input">/login.jsp</result>
</action>
<!-- 配置regist Action,處理類爲LoginRegistAction,指定使用regist方法處理請求,這個必須添加否則無法處理Regist的方法!!! -->
<action name="regist" class="org.crazyit.app.action.LoginRegistAction" method="regist">
<result name="error">/error.jsp</result>
<result name="success">/welcome.jsp</result>
<result name="input">/login.jsp</result>
</action>
</package>
</struts>
一個簡單的Struts.xml配置。對應的error.jsp、welcome.jsp等都保存在WebContent目錄下,所有這裏對應的/是指該工程的WebContent目錄。這裏的jsp文件位置一定要和物理上所放的位置對應上,否則!!404。。
2、web.xml文件,在這個文件中定義核心Filter來攔截用戶請求。由於Web應用是基於請求/響應架構的應用,所以不管哪個MVC Web框架,都需要在web.xml中配置該框架的核心Servlet或Filter這樣該框架纔可以讓該框架介入Web應用中。下面是一個Struts2下的web.xml配置文件,首先定義Struts2的核心Filter然後讓Struts2的核心Filter攔截所有請求。引入框架固定寫法,沒啥可說的。
<?xml version="1.0" encoding="GBK"?>
<web-app 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_3_0.xsd" version="3.0">
<!-- 定義Struts 2的核心Filter -->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<!-- 讓Struts 2的核心Filter攔截所有請求 -->
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
3、對應lib
現在用簡單的幾個Struts2的lib有如下幾個,用的是Struts2的2.3.28版本,上來引lib的時候不要把Struts2的lib全部引用,會出錯,先引這幾個,後面需要的再添加。一定要放對位置。