17.struts-开发流程.md
目录
struts2.3.4
struts2 = struts1 + xwork
基本步骤
1. 导包,struts2.3有八个包要导入
- commons-fileupload-1.2.2.jar --->文件上传
- commons-io-2.0.1.jar --->io操作
- commons-lang3-3.1.jar --->java.lang包的增强
- freemarker-2.3.19.jar --->标签模板库
- javassist-3.11.0.GA.jar --->字节码处理
- ognl-3.0.5.jar --->Ognl表达式支持
- struts2-core-2.3.4.1.jar --->核心功能包
- xwork-core-2.3.4.1.jar --->xwork功包

2. 配置web.xml,引入struts核心功能,配置过滤器
核心类:StrutsPrepareAndExecuteFilter,如果记不住可以用ctrl + shift + t中输入strpex的模糊匹配实现
- 核心功能的初始化通过过滤器来完成--->init、doFilter、destory执行
- 不同版本的核心类不同
<?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>StrutsDemo1</display-name>
<!-- 引入struts核心过滤器 -->
<!-- 其实就是配置一个普通的过滤器 -->
<filter>
<!-- struts2引入 -->
<filter-name>stucts2</filter-name>
<!-- 核心类:StrutsPrepareAndExecuteFilter。可以用ctrl + shift + t中输入 -->
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter </filter-class>
</filter>
<filter-mapping>
<!-- struts2引入 -->
<filter-name>stucts2</filter-name>
<!-- 过滤所有网页 -->
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
3. 开发action
核心类:ActionSupport,重写方法execute
用action类来取代之前的servlet类,不同于servlet静态,这个对应的action类每次访问都创建
这个方法不能有参数,必须返回String
package per.liyue.code.struts2_demo;
import com.opensymphony.xwork2.ActionSupport;
/*
* 核心类:ActionSupport
*/
public class HelloAction extends ActionSupport {
//这个重写方法实际上就是action的标记返回跳转
@Override
public String execute() throws Exception {
System.out.println("进入action,开始处理...");
System.out.println("从action中调用servlet");
//这里返回的String标记和struts配置中跳转页面标记是一样的
return "success";
}
}
4. 配置action
1. 配置struts.xml。这个文件可以从struts类库中搜索拷贝,最好是带有文件编码头。
放到src下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<!-- 这个package写法是固定的,这里的name可以随意填写 ,后面的extends必须按照格式-->
<package name="default" extends="struts-default">
<!-- action的name对应的是访问路径, class是实际的类,方法是执行的方法名 -->
<action name="hello" class = "per.liyue.code.struts2_demo.HelloAction" method="execute">
<!-- 这里result的name和对应的Action类中的返回标签一致 -->
<result name="success">/success.jsp</result>
</action>
</package>
</struts>
17.struts-开发流程.md的更多相关文章
- struts 开发流程
- Struts2学习笔记--Struts例子及开发流程
参考资料:http://blog.csdn.net/hntyzgn2010/article/details/5547753 http://chenlh.iteye.com/blog/464341 入门 ...
- 小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET
小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET 小议common lisp程序开发流程 分类: lisp 2011-04-17 20:59 1316人阅 ...
- Struts2应用的开发流程
Struts2的开发流程 为了能够在eclipse中使用Struts2在进行开发时,需要根据需要导入一些有关的jar包: 在官网下载相关的压缩包,这里下载了两个:struts-2.3.30-all.z ...
- 一 Struts2 开发流程
SSH与SSM简介SSM:Spring+SpringMVC+MybatisSSH:Struts2+Hibernate+SpringStruts2:是侧重于控制层的框架Hibernate:是一个ORM( ...
- Flutter Plugin开发流程
这篇文章主要介绍了Flutter Plugin开发流程,包括如何利用Android Studio开发以及发布等. 本文主要给大家介绍如何开发Flutter Plugin中Android的部分.有关Fl ...
- struts2开发流程及配置,域对象对数据存储的3种方式
一.开发流程 1)引入 jar 包,其中必须引入的有(我是用的struts是2.3.32) commons-fileupload-1.3.2.jar |文件上传下载commons-io-2.2 ...
- Gitblit搭建及Git协作开发流程
1. 概述 目前主流的是git作为自己代码管理,但是采用github需要付费才能够使用,如果不付费,代码需要公开.创业团队及小型开发团队都有必要搭建自己的代码服务器,自己摸索需要一定的时间,会赶不及项 ...
- AOS应用基础平台-模块开发流程
AOS平台简单介绍 AOS应用基础平台基于JavaEE技术体系,以"标准功能可复用.通用模块可配置.行业需求高速开发.异构系统无缝集成"为目标.为软件开发团队提供高效可控.随需应变 ...
随机推荐
- Shiro Realm
Realm: 在实际应用中,shiro从数据库中获取安全数据(如用户.角色.权限),而不是从ini中,可作为安全数据源 即SecurityManager要验证用户身份,那么它需要从Realm获取相应的 ...
- CSS部分
float属性 父级坍塌现象 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 发送短信验证码倒计时,CountDownTimer;
1.声明CountDownTimer的成员变量: private CountDownTimer countDownTimer; 2.设置倒计时总时间和间隔时间: countDownTimer = ne ...
- SQL Server 导入超大脚本
另外使用window server 版操作系统,执行脚本文件比普通版操作系统大大提升大小限制. 在执行SQL脚本的时候要是出现了这些情况我咋办呢? 步入正轨 应用场景:服务器升级,比如原来是2003的 ...
- hive中sql使用英文分号
hql只要遇见分号则认识是语句的EOF,所以对于分号,需要用“\“转义. 例如: insert overwrite table test_json_map select '{"account ...
- linux:ubuntu安装mysql(一)
1.下载MySQL安装包(MySQL Community Server) 地址:https://dev.mysql.com/downloads/mysql/ 2.解压 tar -xvf mysql-s ...
- 零基础学习python_字典(25-26课)
今天学到后面的知识,突然发现之前学习到的字典列表啥的都有点忘了,打算补一下之前学到的字典,到时候你看的时候,字符串.列表.字典.元祖这几个没啥顺序,刚开始学的时候了解下方法,当然你可以死记硬背下,后面 ...
- Vue.js路由
有时候,我们在用vue的时候会有这样的需求,比如一个管理系统,点了左边的菜单栏,右边跳转到一个新的页面中,而且刷新的时候还会停留在原来打开的页面. 又或者,一个页面中几个不同的画面来回点击切换,这两种 ...
- android 开发 在一个工具类(或者适配器class)里启动activity
实现思路: 1.需要给工具类里传入context: 2.使用上下文mContext.startActivity启动activity 例子1: public class SafePlaceRecycle ...
- oracle TDE
转自:oracle TDE学习系列 (1) — wallet 使用管理 关于oracle wallet,通常称为oracle钱夹,说的通俗一点,oracle wallet是一个用 口令加密的PKCS# ...