一篇文章解释struts常用功能
来源:互联网 发布:读书笔记本软件 编辑:程序博客网 时间:2024/06/11 09:31
一、什么是框架?
来源于建筑行业,如果建筑一个茅草屋,不需要框架,如果建造一个几个亿的摩天大楼,就需要框架。
小系统用框架浪费人力,中大型系统用框架。
软件中的框架,是一种半成品。实现了一些基础功能的软件。
我们项目开发需要在框架的基础上进行,因为框架已经实现了一些功能,这样就可以提高开发效率!
二、struts2框架介绍
Struts1:是最早的一种基于mvc模式的框架。
Struts2:是在Struts1的基础上,融合了xwork的功能。
也可以说,Struts2 = struts1 + xwork。
Struts2框架预先实现了一些功能:
1. 请求数据自动封装
2. 文件上传的功能
3. 对国际化功能的简化
4. 数据效验功能
……………….
三、Struts2开发流程
版本: 2.3.x
3.1引入jar文件
1、commons-fileupload-1.2.2.jar【文件上传相关包】
2、commons-io-2.0.1.jar【处理IO的一些工具类包】
3、struts2-core-2.3.4.1.jar【struts2核心功能包】
4、xwork-core-2.3.4.1.jar【Xwork核心包】
5、ognl-3.0.5.jar【Ognl表达式功能支持表】
6、commons-lang3-3.1.jar【struts对java.lang包的扩展,是struts内部的实现,和我们开发没有关系,但必须要】
7、freemarker-2.3.19.jar【struts的标签模板库jar文件】
8、javassist-3.11.0.GA.jar【struts对字节码的处理相关jar,我们一般情况下用JDK自带的字节码处理,但Struts自带了,在新版本里才提供的,2.1就不需要】
3.2配置web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> <display-name>hellostruts2</display-name> <!-- 其他拦截器,其他拦截器要放在struts上面,要不然无效,因为struts拦截了所有请求 --> <filter> <filter-name>struts</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts</filter-name> <url-pattern>/*</url-pattern> </filter-mapping></web-app>
web.xml的作用见:http://blog.csdn.net/zengmingen/article/details/50534678
Tomcat启动-à 加载自身web.xml---à加载所有项目的web.xml,通过在项目的web.xml中引入过滤器,
-àStruts的核心功能的初始化,通过过滤器完成 à filter 【init/启动执行,doFilter/访问执行,destroy】
struts2-core-2.3.4.1.jar 中的StrutsPrepareAndExecuteFilter 即为核心过滤器
注意:使用的struts的版本不同,核心过滤器类是不一样的!
3.3开发Action
1.action类,也叫做动作类; 一般继承ActionSupport类,即处理请求的类(struts中的action类取代之前的servlet)
2.action中的业务方法,处理具体的请求
-à必须返回String
à方法不能有参数
-à异常可有可无
public class HelloAction extends ActionSupport {// 处理请求public String execute() throws Exception {}}
3.4配置struts.xml
<?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 定义一个包,包作用:管理action,通常一个业务模块用一个包 name包名不能重复 extends 当前包继承自哪个包 abstract 表示当前包是否为抽象包,抽象包不能有action的定义,否则运行时报错。 abstract=true:只有当前包被其他包继承时才使用。 namespace 默认"/",是访问路径的一部分。 action 配置请求路径与Action类的映射关系 name 请求路径名称 class 请求处理的action类的全名 method 请求处理方法 result name action处理方式返回值 type 跳转的结果类型 标签体中指定跳转的页面 --> <package name="xxxx" extends="struts-default"> <action name="hello" class="com.zengmg.strtus.HelloAction" method="execute"> <result name="success">/success.jsp</result> </action> </package></struts>
续
- 一篇文章解释struts常用功能
- 解释反射的一篇文章
- 文章上一篇 下一篇 功能
- struts常用功能
- 最小二乘法 解释很到位的一篇文章
- 转载一篇检查更新功能的文章
- 一篇文章轻松搞定功能测试
- ShopEx文章页增加上一篇下一篇功能
- 前一篇和后一篇文章功能实现
- 关于struts几个常用类的解释...
- 一篇文章精通常用 git 命令
- 一篇很牛的文章, 对ERP的解释
- 一篇解释全排列比较清楚的文章
- 一篇讲得非常好的build模式的解释文章
- 分享一篇对于Socket解释很详细的文章
- c# 常用命名空间功能解释
- 之前一篇文章的功能增加,新增了时间显示
- 一篇详细介绍Hadoop系统组成部分及其功能的文章
- cocos2d-x bindings-generator(lua调用c++)
- 浅谈Java类型装载、连接与初始化
- std::stable_partition的使用
- MD5算法原理
- android开发者应该收藏的优秀博客和技术网站
- 一篇文章解释struts常用功能
- MFC 中Combo加载数据库内容
- Oracle to_date()函数的用法
- sql锁表
- 2.6 Android 代码的严格检查
- 仿网易云音乐分类菜单
- gradle初识
- 【19】文件上传与下载
- 黑马程序员----十九-异常和File类