微信公衆號:compassblog
html歡迎關注、轉發,互相學習,共同進步!前端
有任何問題,請後臺留言聯繫java
Struts2是一種基於MVC模式的輕量級web框架,本質上至關於一個servlet。在MVC設計模式中,Struts2做爲控制器來創建模型與視圖的數據交互,以WebWork爲核心,採用攔截器機制來處理用戶的請求,使得業務邏輯控制器可以與ServletAPI徹底脫離,是致力於組件化和代碼重用的J2EE Web框架。web
項目開源,使用及拓展方便。apache
提供Exception處理機制。設計模式
Result方式的頁面導航,經過Result標籤很方便的實現重定向和頁面跳轉。瀏覽器
經過簡單、集中的配置來調度業務類,使得配置和修改都很是容易。bash
提供簡單、統一的表達式語言來訪問全部可供訪問的數據。微信
提供標準、強大的驗證框架和國際化框架。網絡
提供強大的、能夠有效減小頁面代碼的標籤。
提供良好的Ajax支持。
擁有簡單的插件,只需放入相應的JAR包,任何人均可以擴展Struts2框架,好比自定義攔截器、自定義結果類型、自定義標籤等,爲struts2定製須要的功能,不須要什麼特殊配置,而且能夠發佈給其餘人使用。
使用智能的默認設置就能夠完成大多數項目程序開發所須要的功能,不須要另外進行繁瑣的設置。
(1)、新建一個動態Web項目HelloProject,將Struts2所須要的基本jar包導入項目的lib文件夾下,以下圖:
(2)、在src下新建一個Action類(普通的Java類)HelloAction,代碼以下:
package com.struts2.demo;
public class HelloAction {
public String demo(){
System.out.println("第一個Struts2項目實例!");
return "sucess";
}
}
複製代碼
(3)、在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="hello" namespace="/demo" extends="struts-default" >
<action name="HelloAction" class="com.struts2.demo.HelloAction" method="demo" >
<result name="success">/hello.jsp</result>
</action>
</package>
</struts>
複製代碼
(3)、在web.xml文件中配置struts2核心過濾器,具體代碼以下:
<?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_2_5.xsd" id="WebApp_ID" version="2.5">
<display-name>HelloProject</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.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
複製代碼
(4)、在WebContent下新建一個hello.jsp文件,具體代碼以下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
<h1>第一個Struts2項目發佈測試成功!</h1>
</body>
</html>
複製代碼
(5)、發佈第一個Struts2項目HelloProject到Tomcat容器,到瀏覽器地址欄訪問測試,結果以下圖:
本項目執行環境:jdk1.七、Tomcat7.0
注:圖片源於網絡。關於攔截器相關內容,後期會持續更新!
struts.xml文件
(1)、package
<!-- package:將Action配置封裝.就是能夠在Package中配置不少action.
name屬性: 給包起個名字,起到標識做用.隨便起.不能其餘包名重複.
namespace屬性:給action的訪問路徑中定義一個命名空間
extends屬性: 繼承一個 指定包
abstract屬性:包是否爲抽象的; 標識性屬性.標識該包不能獨立運行.專門被繼承
-->
<package name="hello" namespace="/" extends="struts-default" >
複製代碼
(2)、action
<!-- action元素:配置action類
name屬性: 決定了Action訪問資源名.
class屬性: action的完整類名
method屬性: 指定調用Action中的哪一個方法來處理請求
-->
<action name="HelloAction" class="com.struts2.demo.HelloAction" method="demo" >
複製代碼
(3)、result
<!-- result元素:結果配置
name屬性: 標識結果處理的名稱.與action方法的返回值對應.
type屬性: 指定調用哪個result類來處理結果,默認使用轉發.
標籤體:填寫頁面的相對路徑
-->
<result name="success">/hello.jsp</result>
複製代碼
關注微信公衆號compassblog,後臺回覆 「Struts2系列一」 獲取本項目源碼
若是你認爲這篇文章有用,歡迎轉發分享給你的好友!
本號文章能夠任意轉載,轉載請註明出處!
您可能還喜歡: