struts2入門
[TOC]
struts2
直譯:支柱
在Struts1和webwork框架基礎上發展的全新的框架
Struts2核心功能:
1、允許POJO(Plain Old Java Object)物件作為Action
2、Action的execute方法不再與ServletAPI耦合,更易測試
3、支援更多的檢視技術(JSP、FreeMarker、Velocity)
4、基於SpringAOP思想的攔截器機制,更易擴充套件
5、更強大、更易用輸入校驗機制
6、整合Ajax支援
struts2 入門
導包
配置Struts2核心過濾器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">
<filter>
<filter-name>strust2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>strust2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
建立Action繼承ActionSupport
public class UserAction extends ActionSupport {
public String exectute(){
System.out.println("我是struts2");
return "ok";
}
}
配置Action的訪問路徑
配置檔名必須是struts.xml,必須放在src下面,xml檔案需要引入dtd約束
<?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>
<constant name="struts.devMode" value="true"></constant>
<package name="default" namespace="/" extends="struts-default">
<!--配置action -->
<action name="hello" class="com.wxb.action.UserAction" method="exectute">
<result name="ok">welcome.jsp</result>
</action>
</package>
</struts>
對應關係
- hello 對應action 標籤name的值 ----------請求入口
- method對應action類中的方法 ------------請求方法
- action方法返回值對應result標籤裡面的name值 ------------請求返回值
- 響應地址/welcome.jsp 對應跳轉地址 ----------------請求地址
執行流程中的預設:
- 預設action類是ActionSupport** (可省略)
- 預設method=“execute” (可自由命名)
- 預設result name=“success” (可自由命名)
- 預設響應是轉發 (dispatcher) 可改為重定向
NOTICE:
在使用父類ActionSupport省略的時候 action裡的name 必須為預設的success
異常處理
<!-- 異常全域性處理 -->
<global-results>
<result name="error" type="redirect">error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>
攔截器
<1>自帶攔截器 modelDriven** Exceptioon等
<2>自定義攔截器
場景舉例:統計方法執行時間
-建立自定義攔截器 需繼承AbstructInterceptor
-配置 Interceptors
-相應的action方法加上自定義攔截器
-相應的action方法補上default-Stack預設攔截器
動態訪問
訪問方法不寫
前端訪問入口是 user!方法
方法返回值變成入口訪問的方法
<action name="user" class="com.wxb.action.UserAction">
<result name="insertUser" type="redirectAction">user!selectUser</result>
<result name="deleteUser" type="redirectAction">user!selectUser</result>
<result name="updateUser" type="redirectAction">user!selectUser</result>
<result name="selectUser">index.jsp</result>
</action>
相關文章
- Struts2基礎入門
- Struts2框架快速入門筆記框架筆記
- Struts2入門這一篇就夠了
- Struts2入門教程(學習教程資料).pdf
- Struts2中一個簡單的入門例項
- 【Structs2】Struts2入門之hello world程式的跑通Struct
- 入門入門入門 MySQL命名行MySql
- 如何入CTF的“門”?——所謂入門就是入門
- 何入CTF的“門”?——所謂入門就是入門
- scala 從入門到入門+
- makefile從入門到入門
- ACM入門之新手入門ACM
- 【小入門】react極簡入門React
- gRPC(二)入門:Protobuf入門RPC
- struts2實現登入後跳轉回本頁面
- 【Struts2】:Struts2的型別轉換型別
- 《Flutter 入門經典》之“Flutter 入門 ”Flutter
- 新手入門,webpack入門詳細教程Web
- Android入門教程 | RecyclerView使用入門AndroidView
- linux新手入門――shell入門(轉)Linux
- Struts2教程1:第一個Struts2程式
- MyBatis從入門到精通(一):MyBatis入門MyBatis
- SqlSugar ORM 入門到精通【一】入門篇SqlSugarORM
- Storm入門指南第二章 入門ORM
- VUE入門Vue
- MyBatis 入門MyBatis
- CSS 入門CSS
- JavaScript 入門JavaScript
- Nginx 入門Nginx
- RabbitMQ入門MQ
- GitHub入門Github
- Redis 入門Redis
- PostgreSQL 入門SQL
- Prometheus 入門Prometheus
- VuePress 入門Vue
- Tableau入門
- WebSocket 入門Web
- Webpack 入門Web