1. 程式人生 > >Struts2入門——基礎詳解

Struts2入門——基礎詳解

什麼是Struts?

Struts是流行和成熟的基於MVC設計模式的Web應用程式框架。

使用Struts的目的:
為了幫助我們減少執行MVC設計模型來開發Web應用的時間。

什麼是MVC模式?

MVC全名是Model View Controller(模型檢視控制器),一種軟體設計典範,用一種業務邏輯、資料、介面顯示分離的方法組織程式碼,將業務邏輯聚集到一個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。

搭建Struts2環境步驟

下載相關jar包

Apache Struts官網:http://struts.apache.org/download


我使用的是struts-2.3.33這個版本
解壓我們下載好的struts-2.3.33.zip,開啟apps資料夾,然後解壓struts2-blank.war,開啟\struts2-blank\WEB-INF\lib檔案,如下圖所示(即所需的最小jar包):

struts2jar

建立Web專案並匯入Struts2所需的jar包

struts2demo

完善相關配置檔案

配置web.xml檔案
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns
="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
<display-name>struts2_demo</display-name> <!-- struts2 配置 1.新增過濾器filter 2.filter對映filter-mapping -->
<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>

任何MVC框架都需要Web應用整合,不得不借助web.xml檔案,只有配置在web.xml檔案中Servlet才會被應用載入。

建立struts.xml

在src目錄下,建立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>

  <package name="default" namespace="/" extends="struts-default">
      <action name="helloWorldAction" class="com.demo.action.HelloWorldAction">
        <result>/index.jsp</result>
      </action>
  </package>

</struts>

struts.xml檔案struts2的核心配置檔案,在開發過程中利用率最高(該檔案主要負責管理應用程式中的Action對映,以及包含Result定義等)。

主要包含:
1. 全域性屬性
2. 使用者請求和響應Action之間的對應關係
3. Action可能用到的引數和返回結果
4. 各種攔截器的配置

建立Action並測試啟動

建立HelloWorldAction.java類,程式碼如下:
package com.demo.action;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {

    private String message;

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    @Override
    public String execute() throws Exception {
        setMessage("This is index.jsp");
        return SUCCESS;
    }
}

這個類主要用於struts2跳轉到相對應的action後,預設執行execute()方法,並根據返回結果返回字元,struts.xml根據返回的字元跳轉到相對相的介面。

編寫index.jsp頁面,如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %> <!-- struts2唯一的標籤庫 -->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <s:property value="message"/>
</body>
</html>
部署專案

index

總結

最簡單的Struts2的使用總結完畢,歡迎小夥伴們學習。

相關推薦

Struts2入門——基礎

什麼是Struts? Struts是流行和成熟的基於MVC設計模式的Web應用程式框架。 使用Struts的目的: 為了幫助我們減少執行MVC設計模型來開發Web應用的時間。 什麼是MVC模式? MVC全名是Model View Control

spark大資料架構初學入門基礎

Spark是什麼 a) 是一種通用的大資料計算框架 b) Spark Core 離線計算         Spark SQL 互動式查詢  Spark Streaming 實時流式計算  Spark MLlib 機器學習  Spark GraphX 圖計算 c) 特點:

Django入門基礎

本次使用django版本2.1.2 安裝django 安裝最新版本 pip install django 安裝指定版本 pip install django==1.10.1 檢視本機django版本 pip show django 建立專案 建立

Redis入門基礎

val nlp 安裝ruby led 服務 後臺運行 參數 migrating install Redis 簡介Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫。Redis 與其他 key - value 緩存產品有以下三個特點:Redi

Hibernate入門——基礎

什麼是ORM? ORM全名是Object Relational Mapping(物件關係對映),用來把物件模型表示的物件對映到基於S Q L 的關係模型資料庫結構中去。 它的方法論基於三個核心原則: 簡單:以最基本的形式建模資料。 傳達性:資料庫結構被任

java基礎原來這麼容易入門

8種基本型別 int 整形 long 長整形 short 段整形 double 雙精度 float 單精度 char 字元型別 boolean 布林型別 byte 位元組型別 2 1995年由sun公司開發的 2009年 由oracle收購 3 2種技術平臺 java SE:標準版 java

Skynet基礎入門例子(5)

Socket通訊協議Sproto 在和客戶端通訊時,需要制訂一套通訊協議。 skynet 並沒有規定任何通訊協議,所以你可以自由選擇。 sproto 是一套由 skynet 自身提供的協議,並沒有特別推薦使用,只是一個選項。sproto 有一個獨立專案存在

spring security 基礎入門(配置)

<filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterPr

Scrapy 爬蟲框架入門案例

tin mon setting 爬蟲框架 finished perror project 原因 create 歡迎大家關註騰訊雲技術社區-博客園官方主頁,我們將持續在博客園為大家推薦技術精品文章哦~ 作者:崔慶才 Scrapy入門 本篇會通過介紹一

vim基礎

退出 代碼 舉例 soc 成了 grey 好用 ica 執行命令 目錄: 什麽是vim Vim能做什麽 如何學習vim 如何用vim打開一個文件 Vim的三種模式 插入模式 命令模式 擴展命令模式 光標

struts2使用配置

doc jsp 特定 ext mes struts-2 system 瀏覽器 con struts2.xml的文件配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC

C文件操作基礎·········關於fopen,fwrite,,fseek,fgetc的使用。

基礎 user fseek fse app c2c etc 基礎詳解 open 05Y1L7j蝕3UKAhttp://huiyi.docin.com/sina_6355806917 Q托9MCS南9善EU晃喲http://huiyi.docin.com/qfptt159

vuex基礎及項目實例

export DDU 整合 輸入 發的 .com return isp 分享 1、概念 Vuex 是一個專為 Vue.js 的SPA單頁組件化應用程序開發的狀態管理模式插件,它包括State(數據源)、Getters(計算屬性)、Modules(模塊)、Mutation

Python學習一:序列基礎

list ava author 萬裏 單個 使用下標 不能 get 分別是 作者:NiceCui 本文謝絕轉載,如需轉載需征得作者本人同意,謝謝。 本文鏈接:http://www.cnblogs.com/NiceCui/p/7858473.html 郵箱:moyi

Haproxy 基礎及動靜分離配置

haproxy 動靜分離 haproxy 介紹 1 工作在ISO 七層 根據http協議(或者工作在ISO四層 根據tcp協議) 提供web服務的負載均衡調度器負載均衡調度器分類 工作在四層: # lvs 工作在七層: # nginx (web,http reverse proxy,cache

mybatis 基礎

batis 添加用戶 主鍵 actor cor @override iba 基本功 ide 轉 https://www.cnblogs.com/Mr-Kenson/p/8124680.html mybatis 是一個開源的 用於對數據庫操作的框架, 讀者基本都大體了解其

Tomcat基礎

都是 特殊 host access 報文 jvm classname 實例 toc Tomcat基礎詳解組件原理圖如下:任何tomcat實例就是一個server,而一個server內部要想能夠解析jsp頁面轉義編譯serlet程序,要靠其引擎來實現而引擎才是真正意義上執行j

linux網絡防火墻-iptables基礎(重要)

lte 目前 targe udp 安全 們的 tina 設計 常見 一:前言   防火墻,其實說白了講,就是用於實現Linux下訪問控制的功能的,它分為硬件的或者軟件的防火墻兩種。無論是在哪個網絡中,防火墻工作的地方一定是在網絡的邊緣。而我們的任務就是需要去定義到底

Struts2的Action

Struts2的Action詳解Struts2中的action,主要是完成業務邏輯操作。Action替代在servlet中完成的作用。Action的學習主要有兩點如何創建一個struts2的action如果訪問一個struts2的action1. Action類創建方式(三種)創建一個pojo類Pojo(pl

JAVA 圖形界面開發基礎

.so 積木 並且 init 中間 ram stat 字符 tle /*文章中用到的代碼只是一部分,需要源碼的可通過郵箱聯系我 [email protected]*/ 與C的win32一樣,JAVA也有自己的圖形界面開發,將在此篇博客中對基礎部分進行講解。 1.Java提供