開(kāi)始學(xué)習(xí)struts2
今天第一次感覺(jué)到經(jīng)濟(jì)危機(jī)在我身邊了,部門現(xiàn)在沒(méi)有在做的項(xiàng)目了
經(jīng)濟(jì)危機(jī)中,趕緊為自己充充電,好到時(shí)候柳暗花明又一村,哈哈
學(xué)struts2
據(jù)說(shuō)struts2基于webwork,基本上跟struts1沒(méi)啥關(guān)系,如果有webwork的經(jīng)驗(yàn)上手會(huì)很迅速
我沒(méi)接觸過(guò)webwork,就知道有這么個(gè)東西
今兒開(kāi)始第一個(gè)struts
見(jiàn)過(guò)好多blog寫(xiě)有struts2的入門步驟,俺也寫(xiě)一個(gè),為自己造個(gè)輪子,加深印象。
首先下載struts2的jar包,到http://struts.apache.org/,右上角有個(gè)struts2的鏈接,今天下到的是
struts2的2.0.14,昨天在javaeye上看到發(fā)布Struts2.1.3 發(fā)布了,只是主頁(yè)還沒(méi)看到,不止一次聽(tīng)大拿們說(shuō)過(guò)不要追求新版本,哈哈
下載后的目錄:app--struts的例子
docs-doc文檔
lib-struts的jar包或依賴包
src-源碼
HelloWorld:
1、index.jsp
耳目一新的是,不需要用到struts html標(biāo)簽,這只是猜測(cè),或許例子過(guò)于簡(jiǎn)單?今天工作中還感覺(jué)struts1的html標(biāo)簽真是不好用,想加個(gè)class、maxlength、size都不好使,讓我很是郁悶。希望在繼續(xù)學(xué)習(xí)中真的能耳目一新。
struts的action慣例后綴名改成了.action,不再像struts1的.do了,說(shuō)是延續(xù)到webwork的慣例。
下面的頁(yè)面代碼submit的時(shí)候?qū)⑻峤坏絣ogin.action
index.jsp
<body>
<form action="login.action" method="post">
username:<input type="text" name="username"/>
password:<input type="password" name="password"/>
<input type="submit" value="submit"/>
</form>
</body>
2、Action類
struts2的Action可是大進(jìn)步,不用再繼承任何類,實(shí)現(xiàn)了松耦合,它好像將struts1的ActionForm融合了進(jìn)來(lái),據(jù)說(shuō)struts2不再用ActionForm,頁(yè)面上對(duì)應(yīng)的字段寫(xiě)在了Action中,struts2框架會(huì)自動(dòng)調(diào)用get/set方法,在我印象里struts1中的Action對(duì)象不是線程安全的,會(huì)在不同線程間重用,所以謹(jǐn)慎在里面定義字段,在這看來(lái)struts2的Action不是這樣的,只是猜測(cè)
package com.mystart.action;
public class LoginAction {
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{
return "success";
}
}
3、jsp、java類都定義了,現(xiàn)在要它們聯(lián)系起來(lái)-struts配置文件
新的struts配置文件有個(gè)package包的概念,還沒(méi)鬧明白這個(gè)package的詳細(xì)用法,有待繼續(xù)深入
<action>標(biāo)簽有變化,type變成了class,path變成了name,struts1中name屬性是制定ActionForm的,現(xiàn)在ActionForm沒(méi)有了
forward變成了result,result的默認(rèn)name=success
<?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="struts" extends="struts-default">
<action name="login" class="com.mystart.action.LoginAction">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
4、最后啟動(dòng)struts2,配置web.xml
struts1的web.xml配置是放在<servlet>中,也就是是一個(gè)servlet
struts2變成了一個(gè)過(guò)濾器Filter
struts1中<url-pattern>被配置成攔截.do的鏈接
struts2變成了攔截所有鏈接 /*
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<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.jsp</welcome-file>
</welcome-file-list>
</web-app>
以上是驢了個(gè)struts的視頻教程,今兒看了第一節(jié)課,看完后做了一下總結(jié),里面有一些自己的理解,有不對(duì)的地方請(qǐng)兄弟們指正,別光光說(shuō)我是豬,豬也要進(jìn)步啊,嘿嘿,每一步都有疑問(wèn),明天帶著問(wèn)題接著看下一節(jié),睡覺(jué)去。
經(jīng)濟(jì)危機(jī)中,趕緊為自己充充電,好到時(shí)候柳暗花明又一村,哈哈
學(xué)struts2
據(jù)說(shuō)struts2基于webwork,基本上跟struts1沒(méi)啥關(guān)系,如果有webwork的經(jīng)驗(yàn)上手會(huì)很迅速
我沒(méi)接觸過(guò)webwork,就知道有這么個(gè)東西
今兒開(kāi)始第一個(gè)struts
見(jiàn)過(guò)好多blog寫(xiě)有struts2的入門步驟,俺也寫(xiě)一個(gè),為自己造個(gè)輪子,加深印象。
首先下載struts2的jar包,到http://struts.apache.org/,右上角有個(gè)struts2的鏈接,今天下到的是
struts2的2.0.14,昨天在javaeye上看到發(fā)布Struts2.1.3 發(fā)布了,只是主頁(yè)還沒(méi)看到,不止一次聽(tīng)大拿們說(shuō)過(guò)不要追求新版本,哈哈
下載后的目錄:app--struts的例子
docs-doc文檔
lib-struts的jar包或依賴包
src-源碼
HelloWorld:
1、index.jsp
耳目一新的是,不需要用到struts html標(biāo)簽,這只是猜測(cè),或許例子過(guò)于簡(jiǎn)單?今天工作中還感覺(jué)struts1的html標(biāo)簽真是不好用,想加個(gè)class、maxlength、size都不好使,讓我很是郁悶。希望在繼續(xù)學(xué)習(xí)中真的能耳目一新。
struts的action慣例后綴名改成了.action,不再像struts1的.do了,說(shuō)是延續(xù)到webwork的慣例。
下面的頁(yè)面代碼submit的時(shí)候?qū)⑻峤坏絣ogin.action
index.jsp
<body>
<form action="login.action" method="post">
username:<input type="text" name="username"/>
password:<input type="password" name="password"/>
<input type="submit" value="submit"/>
</form>
</body>
2、Action類
struts2的Action可是大進(jìn)步,不用再繼承任何類,實(shí)現(xiàn)了松耦合,它好像將struts1的ActionForm融合了進(jìn)來(lái),據(jù)說(shuō)struts2不再用ActionForm,頁(yè)面上對(duì)應(yīng)的字段寫(xiě)在了Action中,struts2框架會(huì)自動(dòng)調(diào)用get/set方法,在我印象里struts1中的Action對(duì)象不是線程安全的,會(huì)在不同線程間重用,所以謹(jǐn)慎在里面定義字段,在這看來(lái)struts2的Action不是這樣的,只是猜測(cè)
package com.mystart.action;
public class LoginAction {
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{
return "success";
}
}
3、jsp、java類都定義了,現(xiàn)在要它們聯(lián)系起來(lái)-struts配置文件
新的struts配置文件有個(gè)package包的概念,還沒(méi)鬧明白這個(gè)package的詳細(xì)用法,有待繼續(xù)深入
<action>標(biāo)簽有變化,type變成了class,path變成了name,struts1中name屬性是制定ActionForm的,現(xiàn)在ActionForm沒(méi)有了
forward變成了result,result的默認(rèn)name=success
<?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="struts" extends="struts-default">
<action name="login" class="com.mystart.action.LoginAction">
<result name="success">/result.jsp</result>
</action>
</package>
</struts>
4、最后啟動(dòng)struts2,配置web.xml
struts1的web.xml配置是放在<servlet>中,也就是是一個(gè)servlet
struts2變成了一個(gè)過(guò)濾器Filter
struts1中<url-pattern>被配置成攔截.do的鏈接
struts2變成了攔截所有鏈接 /*
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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">
<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.jsp</welcome-file>
</welcome-file-list>
</web-app>
以上是驢了個(gè)struts的視頻教程,今兒看了第一節(jié)課,看完后做了一下總結(jié),里面有一些自己的理解,有不對(duì)的地方請(qǐng)兄弟們指正,別光光說(shuō)我是豬,豬也要進(jìn)步啊,嘿嘿,每一步都有疑問(wèn),明天帶著問(wèn)題接著看下一節(jié),睡覺(jué)去。
posted on 2008-12-29 23:06 豬 閱讀(2238) 評(píng)論(6) 編輯 收藏 所屬分類: 學(xué)習(xí)java