制作一個登陸表單,然后在另一個頁面顯示提交的內(nèi)容,很簡單的一個體驗式學(xué)習(xí)哈。
先貼幾段和struts2無關(guān)的jsp代碼。
- //login.jsp
- <form action="login.action" method="post">
- username:<input type="text" name="username" /><br />
- password:<input type="password" name="password" /><br />
- <input type="submit" value="submit" />
- </form>
- //result.jsp
- username : ${requestScope.username}<br />
- password : ${requestScope.password}
Action類:
- package cn.tshining.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";
- }
- }
首先接觸到了幾個重要的文件,像web.xml,struts.xml,還有幾個jar包。
web.xml是整個站點的配置文件,要是用struts2就必須在 web.xml里“安裝”struts2框架,安裝方式就是在web.xml文件中增加<filter>(xml中這叫什么?記得不是很清楚!節(jié)點?)和<filter-mapping>節(jié)點。
- <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>
<url-pattern>/*</url- pattern>表示struts2將攔截客戶端所有請求
然后需要在src目錄下新建struts.xml文件,內(nèi)容為
- <?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">
- <action name="login" class="cn.tshining.action.LoginAction">
- <result>/result.jsp</result>
- </action>
- </package>
- </struts>
前面為xml的聲明,<package name="struts2" extends="struts-default">是包名,并繼承自struts-default,<action name="login" class="cn.tshining.action.LoginAction">,action的名字和jsp表單中一樣,class屬性為定義的action類。result屬性默認值為 “success”,并會將執(zhí)行成功的結(jié)果轉(zhuǎn)發(fā)至result.jsp。
關(guān)于用到的jar包,這個看教程上寫著只用commons-logging- 1.0.4.jar,freemarker-2.3.15.jar,ognl-2.7.3.jar,struts2-core- 2.1.8.jar,xwork-core-2.1.6.jar這5個jar包,但是我拷到工程中卻發(fā)現(xiàn)Tomcat產(chǎn)生嚴重錯誤,后來發(fā)現(xiàn)有幾個類沒找到,仔細觀察發(fā)現(xiàn)少了commons-fileupload-1.2.1.jar
不知道是版本原因還是什么,現(xiàn)在暫時還不了解。
今天學(xué)到的就是這些基本的配置,做了一個小例子,收獲還是有的,明天接著……