1. 程式人生 > >Struts2.3.24框架入門之一環境配置及入門例項HelloWorld

Struts2.3.24框架入門之一環境配置及入門例項HelloWorld

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頁面。