目录

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. Hibernate的hql语句save,update方法不执行

    Hibernate的hql语句save,update方法不执行 可能出现的原因问题: 未进行事务管理 需要进行xml事务配置或者注解方式的事务配置

  2. jquery遍历指定元素下的img图片改变其路径

    $(".jieshao img").each(function (i) { $(this).attr("src", "manager/" + ...

  3. 关于百度world 编辑器改变上传图片的保存路径图片不显示的问题

    在ueditor.mini for asp.net 中,将上传的图片保存的路径更改了,可图片在 world 编辑器中不显示,但却可以上传到指定的保存目录下,解决这个问题的方法 是: 在udditor_ ...

  4. Java后端开发奋斗之路

    本人方向:Java后端开发方向,本文中内容持续更新中 Java技术栈:https://www.cnblogs.com/wyb666/p/10222070.html 推荐书籍:<程序员代码面试指南 ...

  5. BZOJ2321 [BeiJing2011集训] 星器

    2321: [BeiJing2011集训]星器 Time Limit: 1 Sec  Memory Limit: 128 MB Description Magic Land上的时间又过了若干世纪…… ...

  6. Python-1 试玩OpenCV

    昨天同事说微信更新有跳一跳小游戏,便更新了玩一玩.至于抄袭不抄袭我不讨论,看玩法和色彩都很简洁.想用Python试试摄像头捕捉图像,然后分析距离每次都能跳到中心,有生物机械手指之类的再弄到树莓派上岂不 ...

  7. Microsoft Office Access数据库或项目包含一个对文件“dao360.dll”版本5.0.的丢失的或损坏的引用。

    今天使用 office 2007 access 打开 2003 的数据库中的表时候,提示这个错误.经过搜索,发现是没有 dao360.dll 的问题. 在 https://cn.dll-files.c ...

  8. linux常用命令总结-updating

    Linux 命令总结 启动终端: ctr+alt+t终端字体放大: ctr+shift+'+',终端字体缩小: ctr+'-'ls: 查看当前目录下的文件信息pwd: 查看目录所在的路径touch: ...

  9. php图片上传base64数据编码。

    /** * base64图片上传 */ function IdImg($base64_img = ''){ $up_dir = 'upload/';//存放在当前目录的upload文件夹下 if(!f ...

  10. mezzanine的page表

    class Orderable(with_metaclass(OrderableBase, models.Model)): """ Abstract model that ...