目录

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的更多相关文章

  1. struts 开发流程

  2. Struts2学习笔记--Struts例子及开发流程

    参考资料:http://blog.csdn.net/hntyzgn2010/article/details/5547753 http://chenlh.iteye.com/blog/464341 入门 ...

  3. 小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET

    小议common lisp程序开发流程 - Ever 17 - 博客频道 - CSDN.NET 小议common lisp程序开发流程 分类: lisp 2011-04-17 20:59 1316人阅 ...

  4. Struts2应用的开发流程

    Struts2的开发流程 为了能够在eclipse中使用Struts2在进行开发时,需要根据需要导入一些有关的jar包: 在官网下载相关的压缩包,这里下载了两个:struts-2.3.30-all.z ...

  5. 一 Struts2 开发流程

    SSH与SSM简介SSM:Spring+SpringMVC+MybatisSSH:Struts2+Hibernate+SpringStruts2:是侧重于控制层的框架Hibernate:是一个ORM( ...

  6. Flutter Plugin开发流程

    这篇文章主要介绍了Flutter Plugin开发流程,包括如何利用Android Studio开发以及发布等. 本文主要给大家介绍如何开发Flutter Plugin中Android的部分.有关Fl ...

  7. struts2开发流程及配置,域对象对数据存储的3种方式

    一.开发流程 1)引入 jar 包,其中必须引入的有(我是用的struts是2.3.32) commons-fileupload-1.3.2.jar     |文件上传下载commons-io-2.2 ...

  8. Gitblit搭建及Git协作开发流程

    1. 概述 目前主流的是git作为自己代码管理,但是采用github需要付费才能够使用,如果不付费,代码需要公开.创业团队及小型开发团队都有必要搭建自己的代码服务器,自己摸索需要一定的时间,会赶不及项 ...

  9. AOS应用基础平台-模块开发流程

    AOS平台简单介绍 AOS应用基础平台基于JavaEE技术体系,以"标准功能可复用.通用模块可配置.行业需求高速开发.异构系统无缝集成"为目标.为软件开发团队提供高效可控.随需应变 ...

随机推荐

  1. XrmToolBox 连接

  2. 您无法登陆系统。原因可能是您的用户记录或所属的业务部门在Microoft Dynamics CRM中已被禁用

    问题发生在CRM 4.0 上 1 用户所在办事处及办事处上级被禁用. 2 如果已经重新启用了,还是报这个错误. 可以把停用的办事处及相关下级再重新--停用--启用一次试试. 3 如果还是报错,查看是否 ...

  3. U3D学习10——关节和射线检测

    1.弹簧  2.铰链  3.固定关节  4.角色关节  5.自定义关节  6.raycast和raycasthit 射线有位移参数,可以设定只触发某一层的. 7.射线检测用于高速和精确 update是 ...

  4. U3D学习08-异步、协程

    1.调用 invoke不能传参, 2.协程(不是线程,拥有自己独立的执行序列) Coroutine(尽可能减少计算,提高运行效率) 需要迭代器IEnumerate,迭代器中有返回方法yield 协程的 ...

  5. unity3d简介

    一.介绍: Unity3D软件:综合开发环境,实时三维动画等类型的多媒体内容,并支持这些内容在Windows.iOS.Android等多种平台的发布. Mono:脚本编程基于Mono技术,可使用Jav ...

  6. MySQL存储过程 事务transaction

    MySQL 中,单个 Store Procedure(SP) 不是原子操作,而 Oracle 则是原子的.如下的存储过程,即使语句2 失败,语句 1 仍然会被 commit 到数据库中: create ...

  7. 06 I/O重定向与管道符

    首先,我们知道我们的计算机结构,在第一节的时候已经介绍过了,CPU进行数据运算,同时控制器负责指令的发送,而内存则是数据存储的地方,CPU读取的数据均从内存中调取.电脑除了CPU和内存外,我们还有I/ ...

  8. 更换Git的地址;

    Git地址变了,Android Studio更新和提交代码都用不了了:需要把新的Git地址更换一下: 1.打开git项目的文件夹,进入git操作框: 2. git remote -v 查看现有地址: ...

  9. Python NLTK——代码重用,F5运行py文件cmd闪退,invalid syntax

    打开IDLE,对代码进行保存(Ctrl+S)后,代码都是可以运行的. 但是打开文件就会弹出cmd并闪退,截了好几次图发现报的是Invalid syntax的错. 后来发现应该在IDLE中新建一个fil ...

  10. Java框架相关

    问题及答案来源自<Java程序员面试笔试宝典>第五章 Java Web 5.3 框架 11.什么是IoC? IoC:控制反转(Inverse of Control, IoC),有时候也被称 ...