Java Web整合开发(79) -- Struts 2
一、 Struts 2.x 概述
不继承任何类的Action
Struts 2的Action并不一定要实现Action接口或者继承ActionSupport,任何POJO都可以做Action,只要这个Action具有public String execute()方法。
Action的可执行方法
execute() 是Action的默认方法。Struts 2还可以执行Action的其他方法,只要这些方法没有参数,并返回String类型。这些方法也可以有throws声明,也可以没有。Struts 2会在运行时根据方法的特征判断是否是可执行方法(参数、返回值),并通过反射执行。
通过URL执行Action的方法
http://localhost:8080/struts2/loginPerson!logout.action将执行loginPerson的logout()方法。
将执行方法配置到Action
struts.xml
<action name="*Person" class="com.helloweenvsfei.struts2.action.LoginAction" method="{1}">
<result name="success">/welcome.jsp</result>
</action>
web.xml中指定Action目录
零配置是必须在web.xml的Filter中指定Action包的位置,否则会默认到struts.xml中加载Action配置。
<filter>
<filter-name>struts</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class> <init-param>
<param-name>actionPackages</param-name>
<param-value>com.helloweenvsfei.struts2.action</param-value>
</init-param>
<!--
<init-param>
<param-name>struts.action.extension</param-name>
<param-value>helloween</param-value>
</init-param>
-->
</filter>
总结:
Java Web都是使用线程来处理用户的请求(request)的,一次请求对应一个处理线程。Struts 2会为每个处理线程分配一个Action对象,将提交的参数注射到Action属性中,并调用Action的相关方法如execute()等完成业务逻 辑。因此,Struts 2的Action会有多个对象。处理完毕,线程运行结束,Action也将被丢弃。Struts 2的Action是线程安全的。
Struts 2会自动完成HttpServletRequest中取参数之类的工作,抛弃HttpServletReques、HttpServletResponse等Servlet API,使开发、测试变得更加简单。
Java Web整合开发(79) -- Struts 2的更多相关文章
- Java Web整合开发(14) -- Struts 1.x 概述
整合Spring与Struts1的三种方法总结 无论用那种方法来整合,第一步就是要装载spring的应用环境,有三种方式: #1. struts-config.xml <?xml version ...
- Java Web整合开发(78) -- Struts 1
在Struts1.3中已经取消了<data-sources>标签,也就是说只能在1.2版中配置,因为Apache不推荐在 struts-config.xml中配置数据源.所以建议不要在st ...
- Java Web整合开发(16) -- Struts 2.x 概述
Struts2与Spring的整合 •Struts2框架为配合与Spring3框架进行整合,提供了相应的拦截器. •该组件名为StrutsSpringObjectFactory,位于struts2-s ...
- Java Web整合开发实战:基于Struts 2+Hibernate+Spring 目录
第1篇 Java Web开发基础第1章 Web的工作机制( 教学视频:31分钟) 1.1 理解Web的概念 1.1.1 Web的定义 1.1.2 Web的三个核心标准 1.2 C/S与B/S两种软件体 ...
- Java Web整合开发王者归来(JSP + Servlet + Struts + Hibernate + Spring) - 读书笔记
第1章 状态码表示响应类型: 保留 表示请求成功地接收 完成请求客户需进一步细化请求 客户错误 服务器错误 Web服务器: Apache服务器,特长是处理静态页面,效率非常高. Tomcat提供对JS ...
- 《轻量级Java Web整合开发入门SSH》 - 快速理解Java框架的又一积木
学习JAVA不难,难的是没有多余的时间给你仔细学习. 伴随着项目的不断跟进,责任重于泰山,必须快速提升. 我不能期望把一本书或者一个项目完全吃透,只希望能用数量去 ...
- java web 整合开发王者归来学习总结
第一章java web开发概述 胖客户端CS,瘦客户端BS(Browser) 网址请求---服务器处理响应-----返回结果-----浏览器显示 CGI可以动态生成页面,但是每个进程都要启动一个CGI ...
- [Java Web整合开发王者归来·刘京华] 1、 Java Web开发
目录: 1.Web技术简介 2.动态网站与静态网站 3.Java Web开发模式 4.JavaScript简介 1.Web技术简介 PS: 最近还有更凶残的技术,即整个操作系统都是基于Web的,如 ...
- Java Web整合开发(3) -- Servlet
Servlert基本程序架构: (FirstServlet.java + web.xml) FirstServlet.java package com.helloben.servlet; import ...
随机推荐
- Xaml在string(串)定义常量和处理空间
(1)基本使用方法 xaml中能够实例化各种对象,比方在ResourceDictionary中定义字符串常量: <ResourceDictionary xmlns="http://sc ...
- SMART原则_百度百科
SMART原则_百度百科 SMART原则
- HP MSA2312 ERROR
司在用的hp MAS2312存储其中一台每天都会报一个错误 EVENT:Vdisk verification failed. Command failed. (error code: 1) 2 err ...
- Datatables 在asp.net mvc
Datatables 在asp.net mvc中的使用 前言 最近使用ABP(ASP.NET Boilerplate)做新项目,以前都是自己扩展一个HtmlHelper来完成同步/异步分页,但是有个地 ...
- python语言学习2——安装python
python是跨平台的,可以,在各种操作系统上安装 window平台下安装python,安装步骤: 下载安装包 下载地址:https://www.python.org/ftp/python/3.5.0 ...
- ACdream 1114(莫比乌斯反演)
传送门:Number theory 题意:给n个数,n 和 每个数的范围都是 1---222222,求n个数中互质的对数. 分析:处理出每个数倍数的个数cnt[i],然后进行莫比乌斯反演,只不过这里的 ...
- Kubernetes初步
Kubernetes是Google开源的容器集群管理系统.它构建于docker技术之上.为容器化的应用提供资源调度.部署执行.服务发现.扩容缩容等整一套功能.本质上可看作是基于容器技术的mini-Pa ...
- JVM学习03_new对象的内存图讲解,以及引出static方法(转)
目录 -=-讲解对象创建过程中,-=-堆内存和栈内存的情况 -=-构造函数对类对象的成员变量的初始化过程 -=-构造函数出栈 -=-类的方法在不访问类对象的成员变量时造成的内存资源浪费怎么解决? -= ...
- Python使用MySQLdb操作MySQL
import MySQLdb,sys try: conn=MySQLdb.connect(host=,user=',db='db1') except Exception,e: print e sys. ...
- hdu1540(线段树)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1540 题意:是一条线上的点,D x是破坏这个点,Q x是表示查询以x所在的最长的连续的点的个数,R是恢 ...