1.新建一個(gè)web項(xiàng)目,取名為struts2.
2.加入struts2的相關(guān)jar文件,將struts.xml文件拷貝進(jìn)src目錄下。將修改過(guò)的web.xml文件拷貝至struts2/WebRoot/WEB-INF/下。
3.新建一個(gè)Action:HelloWorldAction。其代碼如下:
1
package com.xiaobai.struts.action;
2
3
public class HelloWorldAction
{
4
private String msg;
5
6
public String getMessage()
{
7
return msg;
8
}
9
10
public String execute()
{
11
msg = "我的第一個(gè)struts2應(yīng)用";
12
return "success";
13
}
14
}
4.修改strut.xml文件:在<struts></struts>標(biāo)簽對(duì)中加入以下配置:
1
<package name="hello" namespace="/action" extends="struts-default">
2
<action name="helloworld" class="com.xiaobai.struts.action.HelloWorldAction" method="execute">
3
<result name="success">/WEB-INF/page/hello.jsp</result>
4
</action>
5
</package>
5.部署該項(xiàng)目。并且啟動(dòng)Tomcat服務(wù)器,訪問(wèn)
http://localhost:8080/struts2/action/helloworld
看到如下圖所示的結(jié)果:
下面對(duì)寫(xiě)的代碼及配置做一點(diǎn)解釋:
1.<package>標(biāo)簽的namespace屬性可以作為action訪問(wèn)路徑的一部分。不設(shè)置該屬性或?qū)⑵湓O(shè)置為""(空字符串)則為默認(rèn)命名空間。例如上面的package屬性設(shè)置為"/action",action標(biāo)簽的name屬性設(shè)置為"helloworld",所以訪問(wèn)該action的路徑應(yīng)為/action/helloworld,這也就是上面這個(gè)應(yīng)用的訪問(wèn)地址是
http://localhost:8080/struts2/action/helloworld的原因。
2.一般情況下,package都應(yīng)當(dāng)繼承自struts-default包,即,將package的extends屬性設(shè)置為"struts-default",這樣才能獲得struts2的許多功能。
3.action的method屬性主要是定義將請(qǐng)求交給action中的哪個(gè)方法來(lái)處理。
4.result標(biāo)簽中的name屬性值對(duì)應(yīng)action中的處理方法(這里是execute方法)的返回值,用來(lái)定義在該返回值的情況下如何進(jìn)行轉(zhuǎn)向。
上面的應(yīng)用中的jsp文件放置在WEB-INF文件下,主要是為了不讓用戶直接訪問(wèn)到j(luò)sp頁(yè)面,而是通過(guò)訪問(wèn)action,并通過(guò)action的控制來(lái)訪問(wèn)信息。
(ps:用戶直接訪問(wèn)jsp文件也無(wú)法獲得msg的值)
posted @
2010-08-26 21:16 wawlian 閱讀(149) |
評(píng)論 (0) |
編輯 收藏
1.pageContext.getServletContext().getServletDispatcher("/....").forward(request,response);
在該處,"/"指的是該站點(diǎn)的根路徑,不是指整個(gè)Tomcat服務(wù)器的根路徑;
2.response.setRedirect("/....")
在該處,"/"指的是整個(gè)Tomcat服務(wù)器的根路徑。
3.客戶端跳轉(zhuǎn)可以進(jìn)行站點(diǎn)外跳轉(zhuǎn),但是服務(wù)器跳轉(zhuǎn)則只能在站點(diǎn)內(nèi)進(jìn)行跳轉(zhuǎn)。
4.request.getContextPath()可以獲取當(dāng)前站點(diǎn)的路徑,例如/test1.jsp。
posted @
2010-08-26 16:04 wawlian 閱讀(314) |
評(píng)論 (0) |
編輯 收藏
1.鏈接 <a href="">...</a>
2.表單提交
3.meta標(biāo)簽 <meta http-equiv="refresh" content="3;url=www.sina.com">
4.javascript:history.back(); javascript:history.forward();
5.response.sendRedirect("a.jsp");
6.response.setHeader("refresh","3;url=3.jsp")
posted @
2010-08-26 16:01 wawlian 閱讀(230) |
評(píng)論 (0) |
編輯 收藏
struts2開(kāi)發(fā)環(huán)境的搭建主要涉及以下三個(gè)步驟:
1.找到開(kāi)發(fā)struts2應(yīng)用需要的jar文件。
2.編寫(xiě)struts2的配置文件。
3.修改web.xml文件。
具體步驟如下:
1.到http://struts.apache.org/下載struts。下載完成之后將下載的zip文件解壓。
2.在MyEclipse中創(chuàng)建一個(gè)web項(xiàng)目,給項(xiàng)目命名,例如,struts2.
3.進(jìn)入struts解壓目錄下的lib目錄中,找到以下jar文件(版本號(hào)可能不同):
struts2-core-2.x.x.jar
xwork-2.x.x.jar
ognl-2.6.x.jar
freemarker-2.3.x.jar
commons-logging-1.1.x.jar
commons-fileupload-1.2.x.jar
將這些jar文件拷貝至新建的web項(xiàng)目的WEB-INF/lib目錄下。這些jar文件時(shí)開(kāi)發(fā)struts2應(yīng)用需要的最少的jar文件集合。
4.在項(xiàng)目的src目錄下新建或者從別處拷貝一個(gè)struts.xml。該文件是struts2的配置文件。該文件可以通過(guò)以下方式獲得:
在struts的解壓目錄下的apps目錄下有一些struts2的示例應(yīng)用。例如,struts2-blank-2.1.8.1.war。用WinRAR將其解壓縮,在解壓目錄
下的WEB-INF/classes目錄下,找到struts.xml,將其復(fù)制到項(xiàng)目的src目錄下,打開(kāi)該文件,將<struts></struts>標(biāo)簽對(duì)中的其他內(nèi)容
刪除。
5.修改web.xml文件。進(jìn)入解壓的struts示例應(yīng)用,將WEB-INF目錄下的web.xml文件拷貝替換項(xiàng)目中的web.xml文件即可。
或者也可以在項(xiàng)目中的struts.xml文件中添加一個(gè)Filter的配置:
<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>
這樣,struts2的開(kāi)發(fā)環(huán)境就搭建好了。
(以上內(nèi)容根據(jù)傳智播客的相關(guān)視頻整理,主要是方便自己以后查看)
posted @
2010-08-26 13:04 wawlian 閱讀(171) |
評(píng)論 (0) |
編輯 收藏
vim、gvim在windows下中文亂碼的終極解決方案
在windows下vim的中文字體顯示并不好,所以我們需要調(diào)整字體顯示編碼為utf-8,只有這樣才能使用美觀的中文。這時(shí)候可能出現(xiàn)很多中文亂碼。如:文件顯示亂碼、菜單亂碼、右鍵菜單亂碼、conlse輸出亂碼、文件關(guān)聯(lián)右鍵菜單亂碼等等。網(wǎng)上很多解決辦法,但我試了很多,都出現(xiàn)一些怪異的亂碼,顧此失彼。有個(gè)簡(jiǎn)單的方法解決亂碼問(wèn)題:刪除vim下的lang目錄。但這樣所有菜單只能顯示英文了。于是只好自己想辦法。經(jīng)過(guò)長(zhǎng)時(shí)間摸索,總結(jié)下邊的代碼可以徹底解決這些問(wèn)題。

1 """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
2 " vim7.1在windows下的編碼設(shè)置。By Huadong.Liu
3 """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
4 set encoding=utf-8
5 set fileencodings=utf-8,chinese,latin-1
6 if has("win32")
7 set fileencoding=chinese
8 else
9 set fileencoding=utf-8
10 endif
11 "解決菜單亂碼
12 source $VIMRUNTIME/delmenu.vim
13 source $VIMRUNTIME/menu.vim
14 "解決consle輸出亂碼
15 language messages zh_CN.utf-8
posted @
2010-08-24 17:34 wawlian 閱讀(489) |
評(píng)論 (0) |
編輯 收藏