Struts2入門示例教程
回顧Struts2的使用過程,網上搜的教程多多少少都會有點問題,重新記錄下建立過程,方便查閱。
1、下載Struts2的jar包
我用的是struts-2.3.14-all.zip這個版本
2、建立一個web project專案
下面給出所有檔案均建立完成後的工程師圖。
3、匯入Struts2所需jar包
因為只是示例程式,只需要匯入Struts 2支援最小的包就可以了,網上很多教程中新增的最小包都有出入,教大家一個保險的方法。
解壓剛才下載的壓縮包struts-2.3.14-all.zip,在apps資料夾下有個struts2-blank.war包,開啟它,到WEB-INF/lib目錄下,如下圖所示,即為所需的最小包。包含的包應該和具體的Struts版本有關。
4、配置web.xml
下面進入到具體的配置編碼階段。
開啟web.xml,修改配置引數,修改後的具體配置如下。
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" 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_2_5.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> </web-app>
這裡需要注意的是
這裡面填入的類,
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
Since Struts 2.1.3, use StrutsPrepareAndExecuteFilter instead or StrutsPrepareFilterand StrutsExecuteFilter if needing using the ActionContextCleanUp filter in addition to this one..即,從Struts 2.1.3起已被標註為過時的,改用StrutsPrepareAndExecuteFilter。
我剛用這個版本的時候還是填的org.apache.struts2.dispatcher.FilterDispatcher
結果報錯
***********************************************************************
* WARNING!!! *
* *
* >>> FilterDispatcher <<< is deprecated! Please use the new filters! *
* *
* This can be a source of unpredictable problems! *
* *
* Please refer to the docs for more details! *
* http://struts.apache.org/2.x/docs/webxml.html *
* *
***********************************************************************
如果你也遇到如上的錯誤,要仔細再檢查下了。
5、配置struts.xml
下面需要建立struts.xml檔案,配置strust2要呼叫的action。直接新建在src目錄下,那樣部署的時候會自動釋出到WEB-INF/classes目錄下,或者直接建立在WEB-INF/classes目錄下面。<?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>
<package name="struts2" extends="struts-default">
<action name="HelloWorld" class="tutorial.HelloWorld">
<result>/HelloWorld.jsp</result>
</action>
</package>
</struts>
其中,package元素,作用類似於Java包的機制,他是用於分門別類的一個工具,extends屬性如他的名字一樣,它繼承了struts-default這個包的所有資訊,一般我們自己建立一個包最好都繼承它,因為他為我們提供了絕大部分的功能,你可以在struts2-core的jar包中的struts-default.xml檔案中找到這個包。action元素對應與你的表單,例如你的表單的action="welcome",那麼該表單提交後就會將引數交予action的name="welcome"的實現類處理。result元素為action的結果,它由動作類返回的控制欄位選擇。
6、寫action類(HelloWorld.java)
這個類主要用於struts2跳轉到這個action後。預設執行execute()方法。並根據結果返回字元,然後struts.xml根據返回的字元跳到相應的頁面package tutorial;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorld extends ActionSupport
{
public final static String MESSAGE = "Struts2 is up and running ...";
private String message;
/**
* @return the message
*/
public String getMessage()
{
return message;
}
/**
* @param message the message to set
*/
public void setMessage(String message)
{
this.message = message;
}
public String execute() throws Exception
{
setMessage(MESSAGE);
return SUCCESS;
}
}
7、寫jsp頁面
新建一個jsp頁面來呈現資訊。
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib prefix="s" uri="/struts-tags" %>
<html>
<head>
<title>Hello World!</title>
</head>
<body>
<h2><s:property value="message" /></h2>
</body>
</html>
8、部署執行
在Tomcat中執行該專案,然後開啟瀏覽器,在位址列中輸入:http://localhost:8080/Struts2Demo/HelloWorld
IE效果如下。
至此,最簡單的Struts2的使用方法介紹完畢。
相關推薦
Struts2入門示例教程
回顧Struts2的使用過程,網上搜的教程多多少少都會有點問題,重新記錄下建立過程,方便查閱。 1、下載Struts2的jar包 我用的是struts-2.3.14-all.zip這個版本 2、建立一個web project專案 下面給出所有檔案均建立完成後的工程師
java--Struts2入門示例教程(五)
今天在做一個Struts2的簡單例項,樓主看的是大學教科書-《JavaEE基礎實用教程》第三章的例子。 由於書有些老了,加上Struts框架又做了一些更新。所以有些地方需要拿出來說下,讓新人夥伴們能少走點彎路,更不要~~因為執行後的報錯會灰心喪氣放棄學習的信心
後端開發基礎-Struts2框架學習-001—Struts2入門示例(HelloWorld)
Struts2入門示例(HelloWorld) 核心元件: StrutsPrepareAndExecuteFilter 演示案例 演示工程目錄結構 需要匯入Tomcat類庫或者新增ja
Docker第八篇-docker-compose教程(介紹,安裝,入門示例)
文章目錄 docker-compose介紹 docker-compose安裝 安裝docker(已安裝最新的請忽略此步驟) docker-compose安裝與解除安裝 docker-compose簡單示例 d
struts2入門到精通教程
為什麼要使用struts2以及Servlet的缺點 servlet的缺點: 1、寫一個servlet需要在web.xml檔案中配置8行,如果一個系統中servlet很多,則會導致 web.xml檔案中的內容很多 2、在專案中很多
Daydream VR入門基礎教程,通過GVR示例SimpleVrPanorama製作VR全景圖形應用
dependencies { compile project(':libraries-common') //Google VR API的公共程式碼。 compile project(':libraries-commonwidget') //Google VR API的公共元件。 com
struts2入門教程三(上傳與下載)
package action; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.struts2.ServletActionContext; im
Spring Batch 入門級示例教程
我將向您展示如何使用Spring Boot建立一個的Spring Batch的Hello World示例。 (循序漸進) 因此,如果您是Spring Batch的初學者,您一定會喜歡本指南。 準備好了嗎? 如果您想了解更多關於Spring Batch的資訊,請訪問Spring Batch教程頁面。 1.Sp
linux學習入門標準教程(2)
linux標準教程Linux系統篇2.1 Linux系統管理經過前兩章的學習,咱們現已可以獨立裝置Linux體系,現已把握了Linux學習的竅門,那接下來,咱們將體系的來了解Linux體系各目錄、權限及常用命令的運用。2.1. 1 Linux目錄初識通過前面的學習,我們已經能夠獨立安裝完一個linux
Struts2入門介紹(二)
輸入 clu ons dom 訪問路徑 訪問 filter pri locale 一、Struts執行過程的分析。 當我們在瀏覽器中輸入了網址http://127.0.0.1:8080/Struts2_01/hello.action的時候,Struts2做了如下過程:
Python入門系列教程(二)
字符 小寫 無符號 bsp div width raw_input abc body 字符串 1.字符串輸出 name = ‘xiaoming‘ print("姓名:%s"%name) 2.字符串輸入 userName = raw_input(‘請輸
Python入門系列教程(五)函數
st3 python入門 test print 缺省 .com 教程 技術 log 全局變量 修改全局變量 a=100 def test(): global a a=200 print a 多個返回值 缺省參數 d
MVC 5 + EF6 入門完整教程14 -- 動態生成面包屑導航
maps setting i++ log item 文檔 應該 動態生成 內容 上篇文章我們完成了 動態生成多級菜單 這個實用組件。 本篇文章我們要開發另一個實用組件:面包屑導航。 面包屑導航(BreadcrumbNavigation)這個概念來自童話故事"漢賽爾和格萊特"
MVC5+EF6 入門完整教程九
taf bag details 視圖 clu role pre 階段 驗證 前一陣子臨時有事,這篇文章發布間隔比較長,我們先回顧下之前的內容,每篇文章用一句話總結重點。 文章一 MVC核心概念簡介,一個基本MVC項目結構 文章二 通過開發一個最基本的登錄界面,介紹了如何從C
MVC5+EF6 入門完整教程12--靈活控制Action權限
全局 基本功 -1 str 條件 context tac 完整 suse 大家久等了。 本篇專題主要講述MVC中的權限方案。 權限控制是每個系統都必須解決的問題,也是園子裏討論最多的專題之一。 前面的系列文章中我們用到了 SysUser, SysRole, SysUserR
MVC5+EF6 入門完整教程七
好的 ring 改變 替換 使用 需要 註釋 mod num 本篇我們針對表格顯示添加一些新功能。 前面我們已經講解過表格顯示數據了,現在我們添加三個常用功能: 對顯示結果進行排序、過濾、分頁。 文章提綱 理論基礎/前置準備 詳細步驟 總結 前置準備 – 應
MVC5+EF6 入門完整教程十
crud 新建 用戶角色 tro mic acc where shtml pos 本篇是第一階段的完結篇。 學完這篇後,你應該可以利用MVC進行完整項目的開發了。 本篇主要講述多表關聯數據的更新,以及如何使用原生SQL。 文章提綱 多表關聯數據更新 如何使用原生SQ
dubbo入門示例
zookeeper 執行 .html protocol ner 自己 ons registry can 本文主要介紹阿裏dubbo的基本使用,關於dubbo的相關基礎概念請自行參考dubbo官網:http://www.dubbo.io dubbo是一個服務治理的框架,在如今
全網首創ISE入門級教程
加法 表示 cnblogs htm padding 九月 雲服務器 對他 實驗 轉眼間我已經大三了,現在成為了實驗室的負責人,對於下一屆學生的納新重任就交到了我的手上,想采取不同的方法暑假就可能對他們進行一些培訓,所以制作了此教程,說實話,在網上還沒有找到關於ISE的
struts2入門---ActionContext
string struts2入門 ext 簡單 attribute contex 指定 == 不出 1.開發環境搭建 2.簡單應用 我們在index.jsp裏面這樣寫: <a href="TestActionContext.action?name=zhoujing&a