哪些平台可以建立网站,2345浏览器网页版入口中文版,哈尔滨建设投资集团,网络运维工程师证一、什么是框架#xff1f; 来源于建筑行业#xff0c;如果建筑一个茅草屋#xff0c;不需要框架#xff0c;如果建造一个几个亿的摩天大楼#xff0c;就需要框架。 小系统用框架浪费人力#xff0c;中大型系统用框架。 软件中的框架#xff0c;是一种半成品。实现了一些…一、什么是框架 来源于建筑行业如果建筑一个茅草屋不需要框架如果建造一个几个亿的摩天大楼就需要框架。 小系统用框架浪费人力中大型系统用框架。 软件中的框架是一种半成品。实现了一些基础功能的软件。 我们项目开发需要在框架的基础上进行因为框架已经实现了一些功能这样就可以提高开发效率 二、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 version1.0 encodingUTF-8?
web-app xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexmlnshttp://xmlns.jcp.org/xml/ns/javaeexsi:schemaLocationhttp://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsdidWebApp_ID version3.1display-namehellostruts2/display-name!-- 其他拦截器其他拦截器要放在struts上面要不然无效因为struts拦截了所有请求 --filterfilter-namestruts/filter-namefilter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mappingfilter-namestruts/filter-nameurl-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 version1.0 encodingUTF-8 ?
!DOCTYPE struts PUBLIC-//Apache Software Foundation//DTD Struts Configuration 2.0//ENhttp://struts.apache.org/dtds/struts-2.0.dtd
struts!--package 定义一个包包作用管理action通常一个业务模块用一个包name包名不能重复 extends 当前包继承自哪个包abstract 表示当前包是否为抽象包抽象包不能有action的定义否则运行时报错。abstracttrue:只有当前包被其他包继承时才使用。namespace 默认/是访问路径的一部分。action 配置请求路径与Action类的映射关系name 请求路径名称class 请求处理的action类的全名method 请求处理方法resultname action处理方式返回值type 跳转的结果类型标签体中指定跳转的页面--package namexxxx extendsstruts-defaultaction namehello classcom.zengmg.strtus.HelloAction methodexecuteresult namesuccess/success.jsp/result/action/package/struts续