Struts2.3.24框架入門之一環境配置及入門例項HelloWorld
阿新 • • 發佈:2019-02-19
Struts框架簡單例項——HelloWorld
step1:環境搭建
到Struts官網下載最新版本:http://struts.apache.org/download.cgi 匯入必備jar包:
序號 |
名稱 |
描述 |
1 |
commons-fileupload-1.2.2.jar |
檔案上傳元件 |
2 |
commons-io-2.0.1.jar |
io包 |
3 |
commons-lang3-3.1.jar |
基礎工具包,封裝一些常用的基礎操作 |
4 |
commons-loggin-1.1.1.jar |
日誌元件 |
5 |
freemarker-2.3.19.jar |
一個基於模板生成文字輸出的通用工具 |
6 |
ognl-3.0.6.jar |
物件圖導航語言(jar包庫) |
7 |
strut2-core-2.3.12.jar |
Struts2核心jar包 |
8 |
xwork-core-2.3.12.jar |
xwork核心包 |
9 |
javassist-3.15.0-GA.jar |
擴充套件java類和實現 |
這裡用的是MyEclipse10.6 for Spring,匯入struts2.3jar包(專案右鍵--properties-Java Build Path-Add External Jars或者複製到lib目錄下)
step2:配置檔案
1.web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" 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"> <display-name></display-name> <!-- Struts2框架配置 --> <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> <welcome-file-list> <welcome-file>/index.jsp</welcome-file> </welcome-file-list> </web-app>
2.struts.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- 指定由spring負責action物件的建立 -->
<!-- <constant name="struts.objectFactory" value="spring" /> -->
<!-- 所有匹配的請求都由struts2處理 -->
<constant name="struts.action.extension" value="action" />
<!-- 是否啟用開發模式 -->
<constant name="struts.devMode" value="false" />
<!-- struts配置檔案改動後,是否重新載入 -->
<constant name="struts.configuration.xml.reload" value="true" />
<!-- 設定瀏覽器是否快取靜態內容 -->
<constant name="struts.serve.static.browserCache" value="false" />
<!-- 請求引數的編碼方式 -->
<constant name="struts.i18n.encoding" value="utf-8" />
<!-- 每次HTTP請求系統都重新載入資原始檔,有助於開發 -->
<constant name="struts.i18n.reload" value="true" />
<!-- 讓struts2支援動態方法呼叫 -->
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
<!-- Action名稱中是否還是用斜線 -->
<constant name="struts.enable.SlashesInActionNames" value="false" />
<!-- 允許標籤中使用表示式語法 -->
<constant name="struts.tag.altSyntax" value="true" />
<!-- 對於WebLogic,Orion,OC4J此屬性應該設定成true -->
<constant name="struts.dispatcher.parametersWorkaround" value="false" />
<!-- 把主題改為simple -->
<constant name="struts.ui.theme" value="simple"></constant>
<package name="basePackage" extends="struts-default">
<action name="login_*" class="cn.order.action.LoginAction" method="{1}">
<result name="list">/WEB-INF/jsp/loginAction/login.jsp</result>
</action>
</package>
</struts>
需要注意的:這個檔案裡,配置的過濾器的類是:org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter。和原來配置的類不一樣。原來配置的類是:org.apache.struts2.dispatcher.FilterDispatcher。這是因為,從struts-2.1.3以後,org.apache.struts2.dispatcher.FilterDispatcher值被標註為過時。雖然仍然起作用,但是不建議使用。
step3:編碼
1.User.java
package cn.order.model;
public class User {
private String userName;
private String userId;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}
2.LoginAction.java
package cn.order.action;
import cn.order.model.User;
import com.opensymphony.xwork2.ModelDriven;
public class LoginAction implements ModelDriven<User>{
User model=new User();
@Override
public User getModel() {
return model;
}
public String list(){
return "list";
}
}
3.login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>登入</title>
</head>
<body>
login
</body>
</html>
4.index.jsp
<%@ page language="java" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>helloWorld</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
</head>
<body>
<s:form name="frmLoign" action="login_list" method="post" >
<s:label value="系統登陸"></s:label> <br>
<s:textfield name="userName" label="使用者名稱"></s:textfield> <br>
<s:password name="password" label="密碼"></s:password> <br>
<s:submit value="提交"></s:submit>
</s:form>
</body>
</html>
Step4:流程執行及總結
啟動tomcat,在網頁位址列裡輸入:http://localhost:8080/專案的名稱,開啟登入頁面。如下所示:提交後就可以到login.jsp頁面。