Microsoft Word - 第3章.doc

Size: px
Start display at page:

Download "Microsoft Word - 第3章.doc"

Transcription

1 第 3 章 Struts2 框架是 Apache 开源社区原有的 Struts 框架和 Open Symphony 社区 WebWork2 框架的合并版本, 它集成了这两大流行的 MVC 框架各自的优点, 主要以 WebWork 的设计思想为核心, 提供了更加灵活的控制层和组件实现技术 Struts2 的体系结构 Struts2 的安装与配置 Struts2 框架的主要配置文件 3.1 Struts2 结构 Struts2 体系结构 Struts2 框架提供了更灵活的控制层和组件实现技术,Struts2 框架主要的功能组件有 Action 组件 拦截器组件 国际化本地资源包以及 XML 配置文件等 图 3.1 为 Struts2 框架的体系结构图 (1)HttpServletRequest 代表了浏览器客户端的一次 HTTP 请求和服务器程序处理结果的一次 HTTP 响应输出 (2)ActionMapper 其实是 HttpServletRequest 和 Action 调用请求的一个映射, 它屏蔽了 Action 对于 Request 等 Java 类的依赖 Struts2 中它的默认实现类是 DefaultActionMapper, ActionMapper 很大的用处是可以根据自己的需要来设计 URL 格式, 它自己也有 Restful 的实现, 具体可以参考文档 docs\actionmapper.html (3)FilterDispatcher 代表 Struts2 框架的过滤器组件, 是 Struts2 的核心控制器, 负责拦截所有的客户端请求, 通过 web.xml 文件被加入到 Web 应用当中, 当有客户端请求到达时, 它就会进行拦截, 然后将根据配置文件将请求转发给相应的业务逻辑控制器进行处理 Struts2 框架包含一系列的标准过滤器组件链, 该组件链主要由 ActionContextCleanUp 和核心过滤器组件 FilterDispatcher 构成 ActionContextCleanUp 主要应用在整合 SiteMesh 框架 (4)Action 是 Struts2 的业务逻辑控制器, 负责处理客户端的请求并将处理结果输出给

2 客户端 (5)ActionProxy 是 Action 的代理, 由 ActionProxyFactory 创建, 它本身不包括 Action 实例,DefaultActionProxy 是默认的 ActionProxy 代理 ActionProxy 的作用是如何取得 Action,ActionProxy 创建一个 ActionInvocation 的实例, 同时 ActionInvocation 通过代理模式调用 Action 但在调用之前 ActionInvocation 会根据配置加载 Action 相关的所有 Interceptor 该组件在 Struts2 框架中发挥着非常重要的作用 它是 Action 和 Xwork 中间的一层 正因为 ActionProxy 的存在导致 Action 调用更加简捷 (6)ActionInvocation 是 Xworks 中 Action 调度的核心 ActionInvocation 是一个接口, 它的作用是如何执行 Action, 拦截器的功能就是在 ActionInvocation 中实现的 DefaultActionInvocation 是 Webwork 对 ActionInvocation 的默认实现 图 3.1 Struts2 体系结构 (7)Interceptor 代表 Struts2 框架的拦截器组件, 利用拦截器进行 AOP 编程 ( 面向切面编程 ), 实现权限验证等功能 (8)Template 是开发人员自己开发的各个部分的程序,Struts2 支撑多种表现层的技术, 如 JSP FreeMarker 等 (9)ConfigurationManager 提供对客户端应用程序配置文件的访问, 也就是 Struts2 中配置文件的解析器 (10)Struts.xml 文件是 Struts2 框架的配置文件, 主要负责配置业务逻辑控制器 Action, 以及用户自定义的拦截器等, 是 Struts2 各个组件之间的纽带 85 第 3 章

3 Java EE 架构开发案例教程 工作流程 86 一个请求在 Struts2 框架中的基本流程如图 3.2 所示 (1) 首先浏览器端发送一个 HttpServletRequest 请求 (2) 核心控制器 StrutsPrepareAndExecuteFilter 根据请求决定调用合适的 Action (3)Struts2 的拦截器链自动对请求进行相关应用的拦截, 如 validation( 数据验证 ) 或文件的上传下载等功能 拦截器的调度流程大致为 :ActionInvocation 初始化时, 根据配置文件的设置, 加载 Action 相关的所有 Interceptor, 然后通过 ActionInvocation.invoke 方法调用 Action 实现 (4) 回调 Action 的 execute 方法, 该 execute 方法先获取用户请求参数, 然后执行某种数据库的操作, 既可以将数据保存到数据库, 也可以从数据库中查询数据 实际上,Action 只是一个控制器, 它会调用业务逻辑组件来处理用户的请求 (5)Action 的 execute 方法将处理的结果存入 Stack Context 中, 并返回一个字符串, 核心控制器 StrutsPrepareAndExecuteFilter 将根据返回的字符串跳转到指定的视图资源, 该视图资源将会读取 Stack Context 中的信息, 并在浏览器生成响应数据 这些响应数据可以是 HTML 页面 图像 各种格式的文档等, 并且所支持的视图技术也非常多, 如 JSP Velocity FreeMarker 等模板技术 图 3.2 Struts2 工作流程 在实际中, 使用 Struts2 框架开发用户登录功能, 需要用户创建一个登录界面 login.jsp, 一个系统主页面 index.jsp, 一个 Action 类 LoginAction.java, 一个拦截器类 LoginInterceptor.java, 另外需要对配置文件 web.xml struts.xml 进行相应的设置 那么该模块的实际工作过程如图 3.3 所示

4 图 3.3 实际模块的工作过程 用户在浏览器地址栏中输入 地址, 调用 login.jsp 文件, 在登录界面上填写相应的用户名和密码, 然后提交请求给 Action 类处理,Struts2 框架根据配置文件 web.xml 里的设置对请求进行过滤, 符合要求就交给 Struts2 框架,Struts2 框架会根据配置文件 struts.xml 调用相应的 Action 类 LoginAction.java 来处理, 如果该 Action 类定义了拦截器, 那么就拦截请求, 调用 LoginInterceptor.java 对用户名 密码等信息进行验证, 然后再将控制权转移回 Action 类 LoginAction.java, 如果处理结果为成功, 则转向系统主页面 index.jsp, 否则转回登录页面 login.jsp 重新输入值 安装与配置 使用 Struts2 框架进行 Web 开发或者运行 Struts2 的程序就必须先配置好 Struts2 的运行环境 首先配置 JDK 环境变量, 然后安装 Web 服务器, 可以选择 Tomcat 作为运行的服务器 然后安装 Struts2 框架的 JAR 文件包 方式 1: 当开发工具不支持 Struts2 框架时, 需要开发人员手工下载 JAR 包并添加到项目中去 登录 网站下载 Struts2 完整版 struts-2.5-all.zip, 将下载的 zip 文件解压缩, 打开其文件夹, 里面包含以下 4 个目录 ( 见图 3.4) 图 3.4 struts-2.5 目录 87 第 3 章

5 Java EE 架构开发案例教程 88 不同版本的 Struts2 框架系统库, 它们的核心库文件的文件名略有差别,struts-2.5 版本主要有以下几个文件夹 apps 目录下的文件为 DEMO 示例, 是学习 Struts2 非常有用的资料 docs 目录下的文件为系统的帮助文件 src 为 Struts2 框架源代码文件所在的目录 lib 包含 Struts2 框架的核心类库, 以及 Struts2 的第三方插件类库 打开 Struts 2 开发包的 lib 文件夹, 把 struts2-core-2.5.jar log4j-api-2.5.jar ognl jar commons-logging jar freemarker jar commons-io-2.4.jar commons-lang-2.4.jar javassist ga.jar commons-fileupload jar 复制到项目的 \WebRoot\WEB-INF\lib 目录下 如果需要在 Web 应用中使用 Struts2 的更多特性, 则需要将相应的 JAR 文件复制到 Web 应用的 WEB-INF/lib 目录下即可 方式 2: 当开发工具支持 Struts2 框架时, 可以采用菜单项的方式安装 Struts2 框架的 JAR 包 本书使用 MyEclipse 2015 作为开发工具, 添加 Struts2 框架的步骤如下 (1) 建立一个 Web 项目 打开 MyEclipse 2015 建立一个 Web 项目, 命名为 Struts2Test, 如图 3.5 所示 图 3.5 新建 Web 项目 (2) 加载 Struts2 类库 用鼠标右键单击项目名, 在弹出的菜单项上选择 MyEclipse( 见图 3.6), 然后选择 Project Facets[Capabilities] 菜单, 最后选择 Install Apache Struts (2.x) Facet, 弹出如图 3.7 所示窗口

6 图 3.6 加载 Struts2 类库 图 3.7 选择过滤文件类型 选择配置文件中对文件类型的过滤,*.action 表示将对扩展名是.action 的文件进行过 89 第 3 章

7 Java EE 架构开发案例教程 90 滤 ;*.do 表示将对扩展名是.do 的文件进行过滤 ;/* 表示将对所有的文件进行过滤 然后单击 Next 按钮, 出现如图 3.8 所示窗口, 选择要添加的 Struts2 类库文件, 默认是 Core, 单击 Finish 按钮完成 图 3.8 选择 Struts2 类库 Struts2 框架加载成功后, 将该项目名展开, 可以看到该项目下导入了很多 Struts2 类库, 如图 3.9 所示 图 3.9 加载后的包文件

8 注意 :web.xml 文件存储在 WEB-INF 目录下,struts.xml 存储在 classes 目录下,lib 下存储的是所必需的类库包, 如 Struts2 核心类库包等 3.2 配置文件 web.xml Struts2 框架能够为程序提供良好的管理机制, 这样开发人员就能够脱离繁杂的管理工作而专心于业务 然而框架并不可能知道开发人员的业务, 只有开发人员把自己的业务通过配置文件注册给框架, 框架才知道自己要管理的资源是什么 Struts2 框架中的配置文件 web.xml 由框架自动加载, 对其自身进行配置 文件的作用 Struts2 框架就是通过 web.xml 配置了核心控制器, 核心控制器也就是过滤器, 对用户请求和处理程序响应的内容进行处理 在 Struts2 中, 开发人员可以自定义过滤器, 要求所有过滤器必须实现 java.serlvet.filter 接口, 这个接口中含有三个过滤器类必须实现的方法 (1)init(FilterConfig):Servlet 过滤器的初始化方法,Servlet 容器创建 Servlet 过滤器实例后将调用这个方法 (2)doFilter(ServletRequest,ServletResponse,FilterChain): 完成实际的过滤操作, 当用户请求与过滤器关联的 URL 时,Servlet 容器将先调用过滤器的 dofilter 方法, 返回响应之前也会调用此方法 FilterChain 参数用于访问过滤器链上的下一个过滤器 (3)destroy():Servlet 容器在销毁过滤器实例前调用该方法, 这个方法可以释放 Servlet 过滤器占用的资源 定义好过滤器后, 需要在 web.xml 中进行配置 web.xml 文件存放在项目中 WebRoot/WEB-INF 的文件夹下 根据版本不同, 里面的内容也有所不同 低版本的 web.xml 代码如下 <?xml version="1.0" encoding="utf-8"?> <web-app version="2.5" xmlns=" xmlns:xsi=" xsi:schemalocation=" <filter> <filter-name>struts 2</filter-name> <filter-class>org.apache.struts2.dispatcher.filterdispatcher </filter-class> </filter> <filter-mapping> <filter-name>struts 2</filter-name> <url-pattern>/*</url-pattern> 91 第 3 章

9 Java EE 架构开发案例教程 </filter-mapping> </web-app> 92 而对于 Struts2.1.6 及以上版本的框架,web.xml 代码如下 <?xml version="1.0" encoding="utf-8"?> <web-app version="2.5" xmlns=" xmlns:xsi=" xsi:schemalocation=" <filter> </filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter </filter-class> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> </web-app> 从上述的例子可以看出, 不同版本的 web.xml 文件主要有以下两处不同的地方 (1)<web-app version="2.5" xmlns=" xmlns:xsi=" xsi:schemalocation=" 文件头中 Javaee 变成小写 (2)<filter-class> org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter </filter-class> 核心控制器的类名发生了变化, 由原来的 org.apache.struts2.dispatcher.filterdispatcher 变成 org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecutefilter 常用属性 下面详细介绍 web.xml 文件中常用的一些属性 <web-app version="2.5" xmlns=" xmlns:xsi=" xsi:schemalocation="

10 这段代码是普通的 XML 文档定义, 定义了当前的文件版本是 2.5 版本, 通过 xmlns 引入了命名空间 通过 xmlns:xsi 定义了 XML 遵循的标签规范, 通过 xsi:schemalocation 定义 xmlschema 的地址, 也就是 XML 书写时需要遵循的语法, 由两部分组成, 前面部分就是命名空间的名字, 后面是 xsd(xmlschema) 的地址 接下来是对核心控制器的定义, 也可以是用户自定义的过滤器, 基本语法格式如下 <filter> <filter-name> 过滤器名 </filter-name> <filter-class> 过滤器对应类 </filter-class> <init-param> <param-name> 参数名称 </param-name> <param-value> 参数值 </param-value> </init-param> </filter> <filter-mapping> <filter-name> 过滤器名 </filter-name> <url-pattern>url 关联方式 </url-pattern> </filter-mapping> 核心控制器的定义包含以下基本元素 (1)<filter> 元素表示对过滤器进行定义 (2)<filter-name> 元素是 <filter> 元素的子元素, 表示过滤器的名字, 该名字用来对其具体的类进行调用 (3)<filter-class> 元素也是 <filter> 元素的子元素, 表示过滤器具体的类存放的路径 (4)<init-param> 元素表示初始化参数的定义, 其子元素 <param-name> 表示参数名称, <param-value> 表示定义的参数值 (5)<filter-mapping> 元素指定让 struts2 框架来处理用户的哪些请求 (URL) (6) 子元素 <filter-name> 表示过滤器的名字, 与前面 <filter> 元素的子元素的名字一致 (7)<url-pattern> 表示过滤器的 URL 映射规则 过滤器必须和特定的 URL 关联才能发挥作用, 当用户发送一个请求后,web.xml 中配置的 Struts2 核心控制器就会过滤该请求 过滤器的映射规则有以下三种 (1) 完全匹配, 例如下面的代码 <filter-mapping> <filter-name> 过滤器名 </filter-name> <url-pattern>xxx.action</url-pattern> </filter-mapping> (2) 路径匹配, 例如下面的代码匹配了根路径下的全部请求 <filter-mapping> <filter-name> 过滤器名 </filter-name> <url-pattern>/*</url-pattern> 93 第 3 章

11 Java EE 架构开发案例教程 </filter-mapping> (3) 扩展名匹配, 例如下面的代码匹配了所有扩展名为.action 的文件 94 <filter-mapping> <filter-name> 过滤器名 </filter-name> <url-pattern>*.action</url-pattern> </filter-mapping> 如果用户的请求是以.action 结尾, 过滤器就会进行过滤, 将该请求转入 Struts2 框架处理 Struts2 框架接收到 *.action 请求后, 将根据 *.action 请求前面的 * 来决定调用哪个业务 另外, 配置过滤器时, 还可以指定一系列的初始化参数, 主要的参数如下 (1)config: 该参数的值是一个以英文逗号, 隔开的字符串, 每个字符串都是一个 XML 配置文件 Struts2 框架将自动加载该属性指定的系列配置文件 如果没有指定该属性则默认使用 struts-default.xml,struts-plugin.xml,struts.xml 这三个配置文件 下面的代码指定 Struts2 框架自动加载 mystruts2.xml 文件 <init-param> <!-- 配置 Struts2 的配置文件 --> <param-name>config</param-name> <param-value> mystruts2.xml </param-value> </init-param> (2)actionPackages, 用来配置 Struts2 框架默认加载的 Action 包结构 参数的值是一个字符串类型的包空间, 如果有多个包空间, 可以用英文, 符号隔开, 这样,Struts2 框架将扫描指定的包空间下的所有 Action 类 例如 : <filter> <init-param> <param-name>actionpackages</param-name> <param-value>com.test.action</param-value> </init-param> </filter> 这样 Struts2 就会去 com.test.action 包下面找所有实现了 Action 的类 (3)configProviders: 如果用户需要实现自己的 ConfigurationProvider 类, 用户可以提供一个或多个实现了 ConfigurationProvider 接口的类, 然后将这些类的类名设置成该属性的值, 多个类名之间以英文逗号, 隔开 例如 : <init-param>

12 <!-- 配置 Struts2 框架的配置提供者类 --> <param-name>configproviders</param-name> <param-value>com.struts2.test.web.myconfigurationprovider</param-value> </init-param> (4) 配置 Struts2 常量, 每个 <init-param> 元素配置一个 Struts 2 常量, 其中,<paramname> 子元素指定了常量 name, 而 <param-value> 子元素指定了常量 value 在这里配置的常量等价于在 struts.properties 文件中配置的属性 <init-param> <!-- 配置 Struts2 框架的常量 --> <param-name>truts.enable.dynamicmethodinvocation</param-name> <param-value>false</param-value> </init-param> 案例 案例 1. 批量设置请求编码 为了避免提交数据的中文乱码问题, 需要在每次使用请求之前设置 request.setcharacter Encoding("gb2312") 编码格式, 这样确实很麻烦 Filter 可以批量拦截修改 Servlet 的请求和响应 下面编写 EncodingFilter.java 文件, 代码见例 3.1 例 3.1 EncodingFilter.java package com; public class EncodingFilter implements Filter { public void init(filterconfig config) throws ServletException { } public void destroy() { } public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setcharacterencoding("gb2312"); chain.dofilter(request, response); } } 类 EncodingFilter 实现了 Filter 接口,Filter 接口中定义的三个方法都要在 EncodingFilter 中实现, 其中,doFilter() 的代码实现主要的功能 : 为请求设置 gb2312 编码, 执行 chain.dofilter() 会继续下面的操作 转换成对应 HttpServletRequest 和 HttpServletResponse 才能进行下面的 session 操作和页面重定向 为了让 filter 发挥作用还需要在 web.xml 中进行配置 95 第 3 章

13 Java EE 架构开发案例教程 例 3.1 web.xml 部分代码 96 <filter> <filter-name>encodingfilter</filter-name> <filter-class>com.encodingfilter</filter-class> </filter> <filter-mapping> <filter-name>encodingfilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> Filter 标签用来定义过滤器,filter-mapping 标签告诉服务器把哪些请求交给过滤器处理, 这里的 /* 表示所有请求, 这样, 所有的请求都会先被 EncodingFilter 拦截, 并在请求里指定 gb2312 字符编码 案例 2. 用 filter 控制用户访问权限 出于信息安全和其他一些原因的考虑, 项目中的一些页面要求用户满足了一定条件之后才能访问 例如, 让用户输入账号和密码, 如果输入的信息正确就在 session 里做一个成功的标记, 这里的成功标志就是 session 中的 username 有值, 其后在请求保密信息的时候判断 session 中是否有已经登录成功的标记, 存在则可以访问, 不存在则禁止访问 假设要保护的页面是 admin/index.jsp, 编写 SecurityFilter.java, 控制用户访问权限 代码见例 3.2 例 3.2 SecurityFilter.java package com; public class SecurityFilter implements Filter { public void dofilter(servletrequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse res = (HttpServletResponse) response; HttpSession session = req.getsession(); if (session.getattribute("username")!= null) { chain.dofilter(request, response); } else { res.sendredirect("../failure.jsp"); } } 例 3.2 web.xml 部分代码 <filter> <filter-name>securityfilter</filter-name> <filter-class>com.securityfilter</filter-class> </filter> <filter-mapping> <filter-name>securityfilter</filter-name> <url-pattern>/admin/*</url-pattern> </filter-mapping> 定义 SecurityFilter 过滤器, 让它过滤匹配 /admin/* 的所有请求,/admin/ 路径下的所有

14 请求都会接受 SecurityFilter 的检查因为 Filter 本来设计成为多种协议服务,HTTP 仅是其中一种, 将 ServletRequest 和 ServletResponse 转换成 HttpServletRequest 和 HttpServlet Response 才能进行下面的 session 操作和页面重定向 得到了 HTTP 请求之后, 可以获得请求对应的 session, 判断 session 中的 username 变量是否为 null, 如果不为 null, 说明用户已经登录, 就可以调用 dofilter 继续请求访问的资源 如果为 null, 说明用户还没有登录, 禁止用户访问, 并使用页面重定向跳转到 failure.jsp 页面显示提示信息 因为 /failure.jsp 的位置在 /admin/ 目录的上一级, 所以加上两个点才能正确跳转到 failure.jsp, 两个点.. 代表当前路径的上一级路径 3.3 配置文件 struts.properties 文件的作用 Struts2 提供了很多可配置的属性, 通过这些属性的设置, 可以改变框架的行为, 从而满足不同的 Web 应用的需求 这些属性可以在 struts.properties 文件中进行设置, 该文件是 Struts2 框架的全局属性文件, 也是自动加载的文件 配置文件 struts.properties 是标准的 Java 属性文件格式, 使用 # 号作为注释字符, 该文件是由一系列的 key-value 对组成, 每个 key 就是一个 Struts2 的属性, 该 key 对应的 value 就是一个 Struts2 的属性, 该文件位于 classpath 下, 通常放在 Web 应用程序的 /WEB- INF/classes 目录下 struts.properties 文件里的代码见例 3.3 例 3.3 struts.properties ### 指定加载 Struts2 配置文件管理器, 默认为 org.apache.struts2.config. DefaultConfiguration ### 开发者可以自定义配置文件管理器, 该类要实现 Configuration 接口, 可以自动加载 Struts2 配置文件 # struts.configuration=org.apache.struts2.config.defaultconfiguration ### 设置默认的 locale 和字符编码 # struts.locale=en_us struts.i18n.encoding=utf-8 ### 指定 struts 的工厂类 # struts.objectfactory = spring ### 指定 spring 框架的装配模式 ### 装配方式有 : name, type, auto, and constructor (name 是默认装配模式 ) struts.objectfactory.spring.autowire = name ### 该属性指定整合 spring 时, 是否对 bean 进行缓存, 值为 true or false, 默认为 true struts. objectfactory.spring.useclasscache = true ### 指定类型检查 #struts.objecttypedeterminer = tiger #struts.objecttypedeterminer = notiger ### 该属性指定处理 MIME-type multipart/form-data, 文件上传 # struts.multipart.parser=cos 97 第 3 章

15 Java EE 架构开发案例教程 98 # struts.multipart.parser=pell struts.multipart.parser=jakarta # 指定上传文件时的临时目录, 默认使用 javax.servlet.context.tempdir struts.multipart.savedir= struts.multipart.maxsize= ### 加载自定义属性文件 ( 不要改写 struts.properties!) # struts.custom.properties=application,org/apache/struts2/extension/custom ### 指定请求 url 与 action 映射器, 默认为 #org.apache.struts2.dispatcher. mapper.defaultactionmapper #struts.mapper.class=org.apache.struts2.dispatcher.mapper.defaultaction Mapper ### 指定 action 的后缀, 默认为 action struts.action.extension=action ### 被 FilterDispatcher 使用 ### 如果为 true 则通过 jar 文件提供静态内容服务 ### 如果为 false 则静态内容必须位于 <context_path>/struts struts.serve.static=true ### 被 FilterDispatcher 使用 ### 指定浏览器是否缓存静态内容, 测试阶段设置为 false, 发布阶段设置为 true struts.serve.static.browsercache=true ### 设置是否支持动态方法调用,true 为支持,false 不支持 struts.enable.dynamicmethodinvocation = true ### 设置是否可以在 action 中使用斜线, 默认为 false 不可以, 想使用需设置为 true struts.enable.slashesinactionnames = false ### 是否允许使用表达式语法, 默认为 true struts.tag.altsyntax=true ### 设置当 struts.xml 文件改动时, 是否重新加载 ### - struts.configuration.xml.reload = true ### 设置 struts 是否为开发模式, 默认为 false, 测试阶段一般设为 true struts.devmode = false ### 设置是否每次请求, 都重新加载资源文件, 默认值为 false struts.i18n.reload=false ### 标准的 UI 主题 ### 默认的 UI 主题为 xhtml, 可以为 simple,xhtml 或 ajax struts.ui.theme=xhtml ### 模板目录 struts.ui.templatedir=template # 设置模板类型. 可以为 ftl, vm, or jsp struts.ui.templatesuffix=ftl ### 定位 velocity.properties 文件. 默认 velocity.properties struts.velocity.configfile = velocity.properties ### 设置 velocity 的 context struts.velocity.contexts = ### 定位 toolbox struts.velocity.toolboxlocation=

16 ### 指定 Web 应用的端口 struts.url.http.port = 80 ### 指定加密端口 struts.url.https.port = 443 ### 设置生成 url 时, 是否包含参数. 值可以为 : none, get or all struts.url.includeparams = get ### 设置要加载的国际化资源文件, 以逗号分隔 # struts.custom.i18n.resources=testmessages,testmessages2 ### 对于一些 web 应用服务器不能处理 HttpServletRequest.getParameterMap() ### 像 WebLogic, Orion, OC4J 等, 须设置成 true, 默认为 false struts.dispatcher.parametersworkaround = false ### 指定 freemarker 管理器 #struts.freemarker.manager.classname=org.apache.struts2.views.freemarker. FreemarkerManager ### 设置是否对 freemarker 的模板设置缓存 ### 效果相当于把 template 复制到 WEB_APP/templates. struts.freemarker.templatescache=false ### 通常不需要修改此属性 struts.freemarker.wrapper.altmap=true ### 指定 xslt result 是否使用样式表缓存 开发阶段设为 true, 发布阶段设为 false struts.xslt.nocache=false ### 设置 struts 自动加载的文件列表 struts.configuration.files=struts-default.xml,struts-plugin.xml,struts.xml ### 设定是否一直在最后一个 slash 之前的任何位置选定 namespace struts.mapper.alwaysselectfullnamespace=false 常用属性 该文件中包含很多属性, 下面进行介绍 struts.configuration, 该属性指定加载 Struts2 配置文件的文件管理器 默认值是 org.apache.struts2.config.defaultconfiguration struts.locale, 设置 Web 应用的默认 Locale struts.i18n.encoding, 设置 Struts2 应用编码的默认使用字符集, 如需获取中文请求参数值, 应该将该常量值设置为 GBK 或者 GB2312 struts.objectfactory, 该属性默认值是 spring, 设置 Struts2 默认的 ObjectFactory Bean struts.objectfactory.spring.autowire, 设置 Spring 框架的自动装配模式, 该属性默认值是 name, 即默认根据 Bean 的 name 进行自动装配 struts.objectfactory.spring.useclasscache, 该属性指定整合 Spring 框架时, 是否缓存 Bean 实例, 该属性只允许使用 true 和 false 两个属性值, 默认值是 true, 通常不建议修改该属性的值 struts.objecttypedeterminer, 该属性指定 Struts2 的类型检测机制, 通常支持 tiger 和 notiger 两个属性值 struts.multipart.parser, 该属性指定处理 multipart/form-data 的 MIME 类型 ( 文件上传 ) 99 第 3 章

17 Java EE 架构开发案例教程 100 请求的框架, 该常量支持 cos pell 和 jakarta 等常量值, 即分别对应使用 cos 的文件上传框架 pell 上传及 common-fileupload 文件上传框架 该属性的默认值为 jakarta 如果需要使用 cos 或者 pell 的文件上传方式, 则应该将对应的 JAR 文件复制到 Web 应用中 例如, 使用 cos 上传方式, 则需要自己下载 cos 框架的 JAR 文件, 并将该文件放在 WEB-INF/lib 路径下 struts.multipart.savedir, 该属性的默认值是 javax.servlet.context.tempdir, 该属性指定上传文件的临时保存路径 struts.multipart.maxsize, 该属性设置 Struts2 文件上传中整个请求内容允许的最大字节数 struts.custom.properties, 该属性指定 Struts2 应用加载用户自定义的属性文件, 该属性文件配置的常量不会覆盖 struts.properties 文件中配置的常量 如果需要加载多个自定义属性文件, 多个自定义属性文件的文件名应以英文逗号, 隔开 struts.mapper.class, 指定将 HTTP 请求映射到指定 Action 的映射器,Struts2 提供了默认的映射器 :org.apache.struts2.dispatcher.mapper.defaultactionmapper 默认映射器根据请求的前缀与 Action 的 name 属性完成映射 struts.action.extension, 该属性指定需要 Struts2 处理的请求后缀, 默认值是 action, 即所有匹配 *.action 的请求都由 Struts2 处理 如果用户需要指定多个请求后缀, 则多个后缀之间以英文逗号, 隔开 struts.serve.static, 该属性设置是否通过 JAR 文件提供静态内容服务, 该属性只支持 true 和 false 属性值, 该属性的默认属性值是 true struts.serve.static.browsercache, 该属性设置浏览器是否缓存静态内容 当应用处于开发阶段时, 如果希望每次请求都获得服务器的最新响应, 则可设置该属性为 false struts.enable.dynamicmethodinvocation, 该属性设置 Struts2 是否支持动态方法调用, 该属性的默认值是 true 如果需要关闭动态方法调用, 则可设置该属性为 false struts.enable.slashesinactionnames, 该属性设置 Struts2 是否允许在 Action 名中使用斜线, 该属性的默认值是 false 如果希望允许在 Action 名中使用斜线, 则可设置该属性为 true struts.tag.altsyntax, 该属性指定是否允许在 Struts2 标签中使用表达式语法, 因为通常都需要在标签中使用表达式语法, 故此属性应该设置为 true, 该属性的默认值是 true struts.devmode, 该属性设置 Struts2 应用是否使用开发模式 如果设置该属性为 true, 则可以在应用出错时显示更多 更友好的出错提示 该属性只接受 true 和 false 两个值, 该属性的默认值是 false 通常, 应用在开发阶段, 将该属性设置为 true, 当进入产品发布阶段后, 则该属性设置为 false struts.i18n.reload, 该属性设置是否每次 HTTP 请求到达时, 系统都重新加载资源文件 该属性默认值是 false 在开发阶段将该属性设置为 true 会更有利于开发, 但在产品发布阶段应将该属性设置为 false 开发阶段将该属性设置为 true, 将可以在每次请求时都重新加载国际化资源文件, 从而可以让开发者看到实时开发效果 ; 产品发布阶段应该将该属性设置为 false, 是为了提供响应性能, 每次请求都需要重新加载资源文件会大大降低应用的

18 性能 struts.ui.theme, 该属性指定视图标签默认的视图主题, 该属性的默认值是 xhtml struts.ui.templatedir, 该属性指定视图主题所需要模板文件的位置, 该属性的默认值是 template, 即默认加载 template 路径下的模板文件 struts.ui.templatesuffix, 该属性指定模板文件的后缀, 该属性的默认属性值是 ftl 该属性还允许使用 ftl vm 或 jsp, 分别对应 FreeMarker Velocity 和 JSP 模板 struts.configuration.xml.reload, 该属性设置当 struts.xml 文件改变后, 系统是否自动重新加载该文件 该属性的默认值是 false struts.velocity.configfile, 该属性的默认值为 velocity.properties 该属性指定 Velocity 框架所需的 velocity.properties 文件的位置 struts.velocity.contexts, 该属性指定 Velocity 框架的 Context 位置, 如果该框架有多个 Context, 则多个 Context 之间以英文逗号, 隔开 struts.velocity.toolboxlocation, 该属性指定 Velocity 框架的 toolbox 的位置 struts.url.http.port, 该属性指定 Web 应用所在的监听端口 该属性通常没有太大的用途, 只是当 Struts2 需要生成 URL 时 ( 例如 url 标签 ), 该常量才提供 Web 应用的默认端口 struts.url.https.port, 该属性类似于 struts.url.http.port 常量的作用, 区别是该常量指定的是 Web 应用的加密服务端口 struts.url.includeparams, 该属性指定 Struts2 生成 URL 时是否包含请求参数 该属性接受 none get 和 all 三个值, 分别对应于不包含 仅包含 GET 类型请求参数和包含全部请求参数 struts.custom.i18n.resources, 该属性指定 Struts2 应用所需要的国际化资源文件, 如果有多份国际化资源文件, 则多个资源文件的文件名以英文逗号, 隔开 struts.dispatcher.parametersworkaround, 该属性的默认值是 false 对于某些 Java EE 服务器, 不支持 HttpServlet Request 调用 getparametermap() 方法, 此时可以设置该常量值为 true 来解决该问题 对于 WebLogic Orion 和 OC4J 服务器, 通常应该设置该常量为 true struts.freemarker.manager.classname, 该属性指定 Struts2 使用的 FreeMarker 管理器 该属性的默认值是 org.apache.struts2.views.freemarker.freemarkermanager, 这是 Struts2 内建的 FreeMarker 管理器 struts.freemarker.wrapper.altmap, 该属性只支持 true 和 false 两个值, 默认值是 true, 通常无须修改该常量值 struts.xslt.nocache, 该属性指定是否关闭 XSLT Result 的样式表缓存 当应用处于开发阶段时, 该常量通常被设置为 true; 当应用处于产品使用阶段时, 该常量通常被设置为 false struts.configuration.files, 该属性指定 Struts2 框架默认加载的配置文件, 如果需要指定多个默认加载的配置文件, 则多个配置文件的文件名之间以英文逗号, 隔开 默认值是 struts-default.xml,struts-plugin.xml,struts.xml, 所以 Struts2 框架默认加载 struts.xml 文件 实际应用中,struts.properties 不推荐使用, 因为所有的设置都可以通过 struts.xml 里的常量来实现 101 第 3 章

19 Java EE 架构开发案例教程 3.4 配置文件 struts.xml 文件的作用 配置文件 struts.xml 是 Struts2 框架的核心配置文件, 主要用于配置和管理开发人员编写的 Action, 以及 Action 包含的 result 定义 Bean 的配置 常量的配置 包的配置和作用于 Action 的拦截器的配置等 该文件通常放在 Web 应用程序的 WEB-INF/classes 目录下, 将被 Struts2 框架自动加载 struts.xml 文件的基本结构如下所示 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" " <struts> <!-- Struts2 的 Action 必须放在一个指定的包空间下定义 --> <package name="default" extends="struts-default"> <action name="login" class="org.qiujy.web.struts.action.loginaction"> <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> </action> </package> </struts> 前三行是 XML 的头, 定义了基本信息 文件的根元素是 <struts> 标签, 其他标签都是包含在它里面的, 很多元素都是可以重复定义的, 以配置不同的内容 常用属性 1. 包配置 Struts2 框架使用包来管理 Action 和拦截器等, 每个 package 就是多个 Action 多个拦截器 多个拦截器引用的集合, 从而简化维护工作, 提高了代码的重用性 另外,package 元素可以扩展其他的包, 从而 继承 原有包的所有定义, 也可以添加自己的包特有的配置, 以及修改原有包的部分配置 package 元素的常用属性如表 3.1 所示 表 3.1 package 的常用属性 属性名 必选 / 可选 说明 name 必选 指定包名, 这个名字将作为引用该包的键 注意, 包的名字必须是唯一的, 在一个 struts.xml 文件中不能出现两个同名的包 extends 可选 允许一个包继承一个或多个先前定义的包 abstract 可选 将其设置为 true, 可以把一个包定义为抽象的 抽象包不能有 action 定义, 只能作为 父 包被其他包所继承 namespace 可选 将保存的 action 配置为不同的命名空间

20 例如, 配置一个名为 stu 的包的代码如下 <package name="stu" extends="struts-default"> 2. 命名空间的配置 Struts2 以命名空间的方式来管理 Action, 主要针对大型项目 Action 重名的问题, 因为不在同一个命名空间的 Action 可以使用相同的 Action 名字, 同一个命名空间不能有同名的 Action 例 3.4 命名空间示例部分代码 <!--default 包在默认的命名空间中 --> <package name="default" extends="struts-default"> <action name="foo" class="cn.com.web.loginaction"> <result name="success">/foo.jsp</result> </action> <action name= bar" class="cn.com.web. LoginAction></action> </package> <!--mypackage1 包在根命名空间中 --> <package name="mypackage1" namespace="/"> <action name="moo" class="cn.com.web.loginactiontwo"> <result name="success">/moo.jsp</result> </action> </package> <!--mypackage2 包在 /accp 命名空间中 --> <package name="mypackage2" namespace="/accp"> <action name="foo" class="cn.com.web.loginactionthree"> <result name="success">/foo2.jsp</result> </action> </package> 当发起 /moo.action 请求时, 框架会在根命名空间 / 中查找 moo.action, 如果没找到再到默认命名空间下查找 在此例中,mypackage 中存在 moo.action, 因此执行 cn.com.web. LoginActionTwo 类 如果发起 /accp/foo.action 请求时, 框架会在 /accp 命名空间下查找 foo.action, 找到后执行 cn.com.web.loginactionthree 类 如果发起 /accp/bar.action 请求时, 框架会在 /accp 命名空间下查找 bar.action, 没有找到, 那么转到默认命名空间下查找, 此时查找 bar.action 文件, 执行 cn.com.web.loginaction 类 3.Action 的配置 Action 主要配置 Action 类的调用,Struts2 框架的核心功能是 Action, 开发好 Action 后, 需要在 struts.xml 中进行配置,Action 元素配置 Action 的物理路径以及映射路径, 用来告诉 Struts2 框架, 针对某个 URL 的请求应该交给哪个 Action 类进行处理 详细的属性在第 4 章介绍 <action name="login" class="org.qiujy.web.struts.action.loginaction"> 103 第 3 章

21 Java EE 架构开发案例教程 104 <result name="success">/success.jsp</result> <result name="error">/error.jsp</result> </action> name 表示 Action 的名字,Struts2 框架根据 Action 的名字查找相应的类, 调用时 class 表示 Action 类具体存放的物理路径 4. 包含配置利用 include 元素, 可以将一个 struts.xml 配置文件分割成多个配置文件, 然后在 struts.xml 中使用 include 元素引入其他配置文件 比如一个网上购物程序, 可以把用户配置 商品配置 订单配置分别放在三个配置文件 user.xml goods.xml 和 order.xml 中, 然后在 struts.xml 中将这三个配置文件引入 <struts> <include file="user.xml"/> <include file="goods.xml"/> <include file="order.xml"/> </struts> 5. 常量配置通过 struts.xml 文件中的常量配置, 可以指定 Struts2 框架的属性, 其实这些属性也可以在其他配置文件中指定, 例如, 在 web.xml 配置文件的 <init-param> 元素中可以指定常量, 也可以在 struts.properties 文件中定义属性来实现 反过来,struts.properties 配置文件中的所有属性都可以通过 <constant> 标记配置在 struts.xml 中 <struts> <!-- 设置开发模式 --> <constant name="struts.devmode" value="true"/> <!-- 设置编码形式为 GB2312--> <constant name="struts.i18n.encoding" value="gb2312"/> <!-- 省略其他配置信息 --> </struts> 6.Bean 的配置 Struts2 框架是一个具有高度可扩展性的框架, 其大部分的核心组件都不是以直接编码的方式写在代码中的, 而是以可配置的方式来管理 Struts2 的核心组件, 这样就使得这些核心组件具有可插可拔的功能, 降低了代码的耦合度 当开发人员需要扩展该框架的核心组件, 或者替换 Struts2 的核心组件时, 只需要提供自己的组件实现类, 并将该组件实现类部署在 Struts.xml 中就可以 使用 <bean> 元素在 struts.xml 文件中定义 Bean, 通常有如下两个作用 (1) 创建该 Bean 的实例, 将该实例作为 Struts2 框架的核心组件使用 (2)Bean 包含的静态方法需要注入一个值 例如, 下面的 struts.xml 文件中的 Bean 配置, 该 Bean 实现了 ObjectFactory 接口, 实现类是 MyObjectFactory 配置代码片段如下

22 <struts> <bean type="com.opensymphony.xwork2.objectfactory" name="myfactory" class="com.opensymphony.xwork2.myapp.myobjectfactory"/> </struts> bean 元素具有如下几个属性 (1)class: 必填属性, 它指定 Bean 实例的实现类 (2)type: 可选属性, 它指定 Bean 实例实现的 Struts2 的规范, 该规范通常是通过某个接口来体现, 因此该属性的值通常是一个 Struts2 接口 如果需要将 Bean 实例作为 Struts2 组件来使用, 则应该指定该属性的值 (3)name: 可选属性, 该属性指定 Bean 实例的名字, 对于有相同 type 类型的多个 Bean, 它们的 name 属性不能相同 (4)scope: 可选属性, 该属性指定 Bean 实例的作用域, 属性值只能是 default singleton request session 或者 thread 之一 (5)static: 可选属性, 该属性指定 Bean 是否使用静态方法注入, 通常而言, 当指定了 type 属性时, 该属性值不应该指定为 true (6)optional: 可选属性, 该属性指定该 Bean 是否是一个可选的 Bean 案例 案例 1. 这是一个比较完整的 struts.xml 文件, 里面演示了各种元素的使用方法与用途, 并进行了详细的注释 例 3.5 struts.xml <?xml version="1.0" encoding="gbk"?> <!-- 下面指定 Struts2.1 配置文件的 DTD 信息 --> <!DOCTYPE struts PUBLIC "-//Apache SoftwareFoundation//DTD Struts Configuration 2.1//EN" " <!-- struts 是 Struts2 配置文件的根元素 --> <struts> <!-- 下面元素可以出现零次, 也可以出现无数次 --> <constant name="" value="" /> <!-- 下面元素可以出现零次, 也可以出现无数次 --> <bean type="" name="" class="" scope="" static=""optional="" /> <!-- 下面元素可以出现零次, 也可以出现无数次 --> <include file="" /> <!-- package 元素是 Struts 配置文件的核心, 该元素可以出现零次, 或者无数次 --> <package name=" 必填的包名 " extends="" namespace="" abstract="" externalreferenceresolver> <!-- 该元素可以出现, 也可以不出现, 最多出现一次 --> <result-types> <!-- 该元素必须出现, 可以出现无数次 --> <result-type name=""class="" default="true false"> 105 第 3 章

23 Java EE 架构开发案例教程 106 <param name=" 参数名 "> 参数值 </param>* </result-type> </result-types> <!-- 该元素可以出现, 也可以不出现, 最多出现一次 --> <interceptors> <!-- 该元素的 interceptor 元素和 interceptor-stack 至少出现 其中之一, 也可以二者都出现 --> <interceptor name=""class=""> <param name=" 参数名 "> 参数值 </param>* </interceptor> <interceptor-stack name=""> <!-- 该元素必须出现, 可以出现无数次 --> <interceptor-ref name=""> <param name=" 参数名 "> 参数值 </param>* </interceptor-ref> </interceptor-stack> </interceptors> <default-interceptor-ref name=""> <param name=" 参数名 "> 参数值 </param> </default-interceptor-ref> <default-action-ref name=""> <param name=" 参数名 "> 参数值 </param>* </default-action-ref>? <global-results> <!-- 该元素必须出现, 可以出现无数次 --> <result name=""type=""> </result> <!-- 该字符串内容可以出现零次或多次 --> 映射资源 </global-results> <param name=" 参数名 "> 参数值 </param>* <global-exception-mappings>

24 <struts> <!-- 该元素必须出现, 可以出现无数次 --> <exception-mapping name=""exception="" result=""> 异常处理资源 <param name=" 参数名 "> 参数值 </param>** </exception-mapping> </global-exception-mappings> <action name=""class="" method="" converter=""> <param name=" 参数名 "> 参数值 </param>* <result name=""type=""> </result> 映射资源 <param name=" 参数名 "> 参数值 </param>* <interceptor-ref name=""> <param name=" 参数名 "> 参数值 </param>* </interceptor-ref> <exception-mapping name=""exception="" result=""> 异常处理资源 <param name=" 参数名 "> 参数值 </param>* </exception-mapping> </action> </package>* <!-- unknown-handler-stack 元素可出现零次或 1 次 --> <unknown-handler-stack> <!-- unknown-handler-ref 元素可出现零次或多次 --> <unknown-handler-ref name=" ">...</unknown-handler-ref>* </unknown-handler-stack>? 思考与练习 1. 简述 Struts2 体系结构 2. 命名空间是什么? 怎样配置? 3.Struts.xml 文件有什么作用? 107 第 3 章

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc

本章学习目标 小风 Java 实战系列教程 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 本章学习目标 SpringMVC 简介 SpringMVC 的入门案例 SpringMVC 流程分析 配置注解映射器和适配器 配置视图解析器 @RequestMapping 注解的使用 使用不同方式的跳转页面 1. SpringMVC 简介 Spring web mvc 和 Struts2 都属于表现层的框架, 它是 Spring 框架的一部分, 我们可 以从 Spring 的整体结构中看得出来 :

More information

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc

Microsoft Word - Hibernate与Struts2和Spring组合指导.doc 1.1 组合 Hibernate 与 Spring 1. 在 Eclipse 中, 新建一个 Web project 2. 给该项目增加 Hibernate 开发能力, 增加 Hibernate 相关类库到当前项目的 Build Path, 同时也提供了 hibernate.cfg.xml 这个配置文件 3. 给该项目增加 Spring 开发能力, 增加 spring 相关类库到当前项目的 Build

More information

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ

D getinitparameternames() 9 下 列 选 项 中, 属 于 Servlet API 中 提 供 的 request 对 象 的 包 装 类 的 是 ( ) A HttpServletRequestWrapper B HttpServletRequest C HttpServ 第 四 章 Filter( 过 滤 器 ) 样 题 A 卷 一 选 择 题 ( 每 小 题 2 分, 共 20 分 ) 1 下 面 选 项 中, 用 于 实 现 初 始 化 过 滤 器 的 方 法 是 ( ) A init(filterconfig filterconfig) B dofilter(servletrequest req,servletresponse resp,filterchain

More information

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit

(TestFailure) JUnit Framework AssertionFailedError JUnit Composite TestSuite Test TestSuite run() run() JUnit Tomcat Web JUnit Cactus JUnit Java Cactus JUnit 26.1 JUnit Java JUnit JUnit Java JSP Servlet JUnit Java Erich Gamma Kent Beck xunit JUnit boolean JUnit Java JUnit Java JUnit Java 26.1.1 JUnit JUnit How

More information

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP: ******************* * 关于 Java 测试试题 ******

エスポラージュ株式会社 住所 : 東京都江東区大島 東急ドエルアルス大島 HP:  ******************* * 关于 Java 测试试题 ****** ******************* * 关于 Java 测试试题 ******************* 問 1 运行下面的程序, 选出一个正确的运行结果 public class Sample { public static void main(string[] args) { int[] test = { 1, 2, 3, 4, 5 ; for(int i = 1 ; i System.out.print(test[i]);

More information

在所有的项目开发中, 一定是多人协作的团队开发, 但是使用框架就会出现一个问题, 我们所 有的 Action 以及相关的路径都要求在我们的 struts.xml 文件中配置, 如果所有的人去修改一个 文件, 那么就会变得混乱, 而且有可能出现冲突, 那么在 struts.xml 文件中为了解决这个问

在所有的项目开发中, 一定是多人协作的团队开发, 但是使用框架就会出现一个问题, 我们所 有的 Action 以及相关的路径都要求在我们的 struts.xml 文件中配置, 如果所有的人去修改一个 文件, 那么就会变得混乱, 而且有可能出现冲突, 那么在 struts.xml 文件中为了解决这个问 内置对象的取得和多人开发 一 内置对象的取得 在使用的 servlet 的时候可以通过 HttpServletResquest 获取到一些内置对象, 但是在 struts2 中为了方便取得内置对象, 专门提供了一个 ServletActionContext 这个类取得取得内置对象, 观察如下方法 public static javax.servlet.jsp.pagecontext() 取得 pagecontext

More information

1.1 Filter 的特性 请求映射 filter-mapping 和 servlet-mapping 都是将对应的 filter 或 servlet 映射到某 个 url-pattern 上, 当客户发起某一请求时, 服务器先将此请求与 web.xml 中定 义的所有 url-pat

1.1 Filter 的特性 请求映射 filter-mapping 和 servlet-mapping 都是将对应的 filter 或 servlet 映射到某 个 url-pattern 上, 当客户发起某一请求时, 服务器先将此请求与 web.xml 中定 义的所有 url-pat 1.1 Filter 的特性 1.1.1 请求映射 filter-mapping 和 servlet-mapping 都是将对应的 filter 或 servlet 映射到某 个 url-pattern 上, 当客户发起某一请求时, 服务器先将此请求与 web.xml 中定 义的所有 url-pattern 进行匹配, 然后执行匹配通过的 filter 和 servlet 你可以使用三种方式定义 url-pattern

More information

使用 Eclipse 开发 Java EE 应用 (Web 应用 ) 这里以开发一个简单的 Web 应用为例, 介绍使用 Eclipse 开发 Java EE 应用的一般步 骤 此处使用的 Eclipse 是 Eclipse IDE for Java EE Developers; 如果是使用的其他

使用 Eclipse 开发 Java EE 应用 (Web 应用 ) 这里以开发一个简单的 Web 应用为例, 介绍使用 Eclipse 开发 Java EE 应用的一般步 骤 此处使用的 Eclipse 是 Eclipse IDE for Java EE Developers; 如果是使用的其他 使用 Eclipse 开发 Java EE 应用 (Web 应用 ) 这里以开发一个简单的 Web 应用为例, 介绍使用 Eclipse 开发 Java EE 应用的一般步 骤 此处使用的 Eclipse 是 Eclipse IDE for Java EE Developers; 如果是使用的其他 Eclipse 插件 ( 比如 MyEclipse 插件 ), 其开发方式和步骤可能略有差异和不同 在该例中,

More information

Servlet

Servlet Servlet Allen Long Email: allen@huihoo.com http://www.huihoo.com 2004-04 Huihoo - Enterprise Open Source http://www.huihoo.com 1 Huihoo - Enterprise Open Source http://www.huihoo.com 2 GET POST Huihoo

More information

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises)

09 (File Processes) (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) 09 (File Processes) 9-1 9-2 (mkdir) 9-3 (createnewfile) 9-4 (write) 9-5 (read) 9-6 (deletefile) 9-7 (deletedir) (Exercises) Java Servlet 9-1 Servlet (File Processes) Client Servlet Servlet Java Java (Stream)

More information

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7.

Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes 包管理理 工具 Helm 蔺礼强 Kubenetes 系列列公开课 2 每周四晚 8 点档 1. Kubernetes 初探 2. 上 手 Kubernetes 3. Kubernetes 的资源调度 4. Kubernetes 的运 行行时 5. Kubernetes 的 网络管理理 6. Kubernetes 的存储管理理 7. Kubernetes

More information

Microsoft Word - D2Z

Microsoft Word - D2Z 第 章 Struts 2 基础 Struts 是 Apache 软件基金会赞助的一个开源项目, 它最初是 Jakarta 项目中的一个子项目 Struts 2 是以 Webwork 设计思想为核心, 吸收原 Struts 的优点而形成的, 旨在帮助程序员更方便地运用 MVC 模式来开发 Java EE 应用 2. 1 Struts 2 框架开发入门 2.1.1 MVC 基本思想 MVC 是一种通用的

More information

基于CDIO一体化理念的课程教学大纲设计

基于CDIO一体化理念的课程教学大纲设计 Java 语 言 程 序 设 计 课 程 教 学 大 纲 Java 语 言 程 序 设 计 课 程 教 学 大 纲 一 课 程 基 本 信 息 1. 课 程 代 码 :52001CC022 2. 课 程 名 称 :Java 语 言 程 序 设 计 3. 课 程 英 文 名 称 :Java Programming 4. 课 程 类 别 : 理 论 课 ( 含 实 验 上 机 或 实 践 ) 5. 授

More information

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6

1.JasperReport ireport JasperReport ireport JDK JDK JDK JDK ant ant...6 www.brainysoft.net 1.JasperReport ireport...4 1.1 JasperReport...4 1.2 ireport...4 2....4 2.1 JDK...4 2.1.1 JDK...4 2.1.2 JDK...5 2.1.3 JDK...5 2.2 ant...6 2.2.1 ant...6 2.2.2 ant...6 2.3 JasperReport...7

More information

在Spring中使用Kafka:Producer篇

在Spring中使用Kafka:Producer篇 在某些情况下, 我们可能会在 Spring 中将一些 WEB 上的信息发送到 Kafka 中, 这时候我们就需要在 Spring 中编写 Producer 相关的代码了 ; 不过高兴的是,Spring 本身提供了操作 Kafka 的相关类库, 我们可以直接通过 xml 文件配置然后直接在后端的代码中使用 Kafka, 非常地方便 本文将介绍如果在 Spring 中将消息发送到 Kafka 在这之前,

More information

优迈科技教学大纲2009版本

优迈科技教学大纲2009版本 java 软 件 工 程 师 培 训 教 学 大 纲 1 JAVA 软 件 工 程 师 培 训 教 学 大 纲 深 圳 软 件 园 人 才 实 训 基 地 2009 年 3 月 目 录 java 软 件 工 程 师 培 训 教 学 大 纲 2 教 学 阶 段...3 第 一 章 JAVA 起 步...3 第 二 章 面 向 对 象 的 编 程...4 第 三 章 数 据 结 构 IO 线 程 网 络...5

More information

Microsoft PowerPoint - 05-Status-Codes-Chinese.ppt

Microsoft PowerPoint - 05-Status-Codes-Chinese.ppt 2004 Marty Hall 服务器响应的生成 : HTTP 状态代码 JSP, Servlet, & Struts Training Courses: http://courses.coreservlets.com Available in US, China, Taiwan, HK, and Worldwide 2 JSP and Servlet Books from Sun Press: http://www.coreservlets.com

More information

Microsoft PowerPoint - 02-Servlet-Basics-Chinese.ppt

Microsoft PowerPoint - 02-Servlet-Basics-Chinese.ppt 2004 Marty Hall servlet 基础 JSP, Servlet, & Struts Training Courses: http://courses.coreservlets.com Available in US, China, Taiwan, HK, and Worldwide 2 JSP and Servlet Books from Sun Press: http://www.coreservlets.com

More information

J2EE MVC with Webwork2 Xwork, to J2EE MVC with Webwork2 Xwork

J2EE MVC with Webwork2 Xwork,  to J2EE MVC with Webwork2 Xwork MVC with Webwork2 Xwork Action...1 ActionContext...3 ActionProxyFactory Factory...4 ActionProxyFactory Proxy AOP...7 XworkInterceptor...8 Interceptor...9 LoginAction...10 LoginInterceptor...12 Action Result

More information

resp.getwriter().print(j + "*" + i + "=" + j * i+" "); resp.getwriter().print("<br/>"); protected void dopost(httpservletrequest req, HttpServletRespo

resp.getwriter().print(j + * + i + = + j * i+ ); resp.getwriter().print(<br/>); protected void dopost(httpservletrequest req, HttpServletRespo 第三章补充案例 案例 3-1 HttpServlet 一 案例描述 1 考核知识点名称 :HttpServlet 编号 : 2 练习目标 掌握 HttpServlet 的 doget() 方法和 dopost() 方法 3 需求分析由于大多数 Web 应用都是通过 HTTP 协议和客户端进行交互, 因此, 在 Servlet 接口中, 提供了 一个抽象类 javax.servlet.http.httpservlet,

More information

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复

获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取 Access Token access_token 是接口的全局唯一票据, 接入方调用各接口时都需使用 access_token 开发者需要进行妥善保存 access_token 的存储至少要保留 512 个字符空间 access_token 的有效期目前为 2 个小时, 需定时刷新, 重复 获取将导致上次获取的 access_token 失效 接入方可以使用 AppID 和 AppSecret

More information

untitled

untitled JavaEE+Android - 6 1.5-2 JavaEE web MIS OA ERP BOSS Android Android Google Map office HTML CSS,java Android + SQL Sever JavaWeb JavaScript/AJAX jquery Java Oracle SSH SSH EJB+JBOSS Android + 1. 2. IDE

More information

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页

一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 第 1 页共 32 页 crm Mobile V1.0 for IOS 用户手册 一 登录 crm Mobile 系统 : 输入 ShijiCare 用户名和密码, 登录系统, 如图所示 : 第 2 页共 32 页 二 crm Mobile 界面介绍 : 第 3 页共 32 页 三 新建 (New) 功能使用说明 1 选择产品 第 4 页共 32 页 2 填写问题的简要描述和详细描述 第 5 页共

More information

Spring3.x开发入门

Spring3.x开发入门 Spring Bean 管理 Spring 的工厂类 课程安排 Spring 的 Bean 管理 (XML 方式 ) Spring 的属性注入 (XML 方式 ) Spring 的 Bean 管理 ( 注解方式 ) Spring 的属性注入 ( 注解方式 ) Spring 的工厂类 Spring 的 Bean 管理 (XML 方式 ) 三种实例化 Bean 的方式 使用类构造器实例化 ( 默认无参数

More information

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基

SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 odps-sdk 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基 开放数据处理服务 ODPS SDK SDK 概要 使用 Maven 的用户可以从 Maven 库中搜索 "odps-sdk" 获取不同版本的 Java SDK: 包名 odps-sdk-core odps-sdk-commons odps-sdk-udf odps-sdk-mapred odps-sdk-graph 描述 ODPS 基础功能的主体接口, 搜索关键词 "odpssdk-core" 一些

More information

untitled

untitled Work Managers 什 Work Managers? WebLogic Server 9.x 行 (thread) 理 thread pool 數量 立 execute queues 來 量 理 thread count, thread priority 參數 理 thread pool 數量? WebLogic Server 9.x 理 行 (thread) (self-tuning) 句

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 理解 Struts 框架的工作原理 掌握使用 Struts 框架开发 Web 应用的基本步骤 熟悉 MyEclipse 对 Struts 开发的支持 Web 框架事实标准 : Web 框架的事实标准 http://struts.apache.org Java EE 主流技术趋势图 主流 Web 框架趋势图 使用 Struts 实现加法器 使用开发的

More information

Microsoft Word - 第5章.doc

Microsoft Word - 第5章.doc 第 5 章 解密 Struts 之核心文件 在第 4 章中简单介绍了 Java Web 开发的三大框架之一的 Struts 2 框架的一些基本概念及其开发的流程 在 Struts 2 项目开发中, 有一个重要的过程就是其配置文件的配置 本章将介绍 Struts 核心配置文件的具体作用及其配置方式, 然后介绍 Struts 2 框架中的另一种文件 Action 类文件, 本章的主要内容如下 : 配置文件

More information

云数据库 RDS SDK

云数据库 RDS SDK 云数据库 RDS SDK SDK SDK 下载 SDK 下载 最新版本 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip 历史版本 2015-11-3 java_sdk.zip python_sdk.zip php_sdk.zip c#_sdk.zip JAVA 教程 JAVA 创建 Access Key 登陆阿里云账号 打开 我的 Access

More information

untitled

untitled 653 JAVA 2008 11 Institution of Software Engineer... 2... 4... 4... 5... 5... 8... 8... 8... 8... 8... 9... 9... 9... 11... 13... 13... 13... 13... 15... 15... 15... 15... 16... 16... 17... 17... 17...

More information

EJB-Programming-4-cn.doc

EJB-Programming-4-cn.doc EJB (4) : (Entity Bean Value Object ) JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Session Bean J2EE Session Façade Design Pattern Session Bean Session

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 掌握 Model I 体系结构 掌握 Model II 体系结构 掌握 MVC 应用程序 Model I 体系结构 6 1 Model I 体系结构结合使用 JSP 页面和 Bean 来开发 Web 应用程序 应用服务器 请求 JSP 页面 响应 Bean 数据库服务器 Model I 体系结构 6 2 Model I 体系结构用于开发简单的应用程序

More information

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 ->

1 1 大概思路 创建 WebAPI 创建 CrossMainController 并编写 Nuget 安装 microsoft.aspnet.webapi.cors 跨域设置路由 编写 Jquery EasyUI 界面 运行效果 2 创建 WebAPI 创建 WebAPI, 新建 -> 项目 -> 目录 1 大概思路... 1 2 创建 WebAPI... 1 3 创建 CrossMainController 并编写... 1 4 Nuget 安装 microsoft.aspnet.webapi.cors... 4 5 跨域设置路由... 4 6 编写 Jquery EasyUI 界面... 5 7 运行效果... 7 8 总结... 7 1 1 大概思路 创建 WebAPI 创建 CrossMainController

More information

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票

OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 3 提交时间 3 月 29 日晚 9 点 Piazza Project 2 投票 复习 创建对象 构造函数 函数重载 : 函数 = 函数名 + 参数列表 public class MyType { int i; double d; char c; void set(double x)

More information

res/layout 目录下的 main.xml 源码 : <?xml version="1.0" encoding="utf 8"?> <TabHost android:layout_height="fill_parent" xml

res/layout 目录下的 main.xml 源码 : <?xml version=1.0 encoding=utf 8?> <TabHost android:layout_height=fill_parent xml 拓展训练 1- 界面布局 1. 界面布局的重要性做应用程序, 界面是最基本的 Andorid 的界面, 需要写在 res/layout 的 xml 里面, 一般情况下一个 xml 对应一个界面 Android 界面布局有点像写 html( 连注释代码的方式都一样 ), 要先给 Android 定框架, 然后再在框架里面放控件,Android 提供了几种框架,AbsoluteLayout,LinearLayout,

More information

无类继承.key

无类继承.key 无类继承 JavaScript 面向对象的根基 周爱 民 / aimingoo aiming@gmail.com https://aimingoo.github.io https://github.com/aimingoo rand = new Person("Rand McKinnon",... https://docs.oracle.com/cd/e19957-01/816-6408-10/object.htm#1193255

More information

计算机软件技术专业教学计划

计算机软件技术专业教学计划 计 算 机 软 件 技 术 专 业 人 才 培 养 方 案 ( 服 务 外 包 方 向 ) 专 业 大 类 名 称 ( 代 码 ):++(++) 专 业 类 名 称 ( 代 码 ):++++++(++++) 专 业 名 称 ( 代 码 ):+++++++(++++++) 修 业 年 限 : 三 年, 全 日 制 招 生 对 象 : 三 年 制 普 通 高 中 及 对 口 中 职 专 业 毕 业 生

More information

JSP基础编程

JSP基础编程 JSP 基础编程 报告人 : 包亮 邮箱 :rslab@lzb.ac.cn HTTP 基础 HTTP is a simple, stateless protocol. A client, such as a web browser, makes a request, the web server responds, and the transaction is done. Client 发出一个请求

More information

输入 project name 选择完成

输入 project name 选择完成 JAVA 程序访问 HighGo DB 的环境准备 山东瀚高科技有限公司版权所有仅允许不作任何修改的转载和转发 Hibernate 的配置 MyEclipse 中创建新项目 : 选择菜单栏 file---new---project 选择 web project 进行下一步 输入 project name 选择完成 4. 单击 " 添加 JAR/ 文件夹 ", 会如下图出现 JDBC 下载 Hibernate

More information

Guava学习之Resources

Guava学习之Resources Resources 提供提供操作 classpath 路径下所有资源的方法 除非另有说明, 否则类中所有方法的参数都不能为 null 虽然有些方法的参数是 URL 类型的, 但是这些方法实现通常不是以 HTTP 完成的 ; 同时这些资源也非 classpath 路径下的 下面两个函数都是根据资源的名称得到其绝对路径, 从函数里面可以看出,Resources 类中的 getresource 函数都是基于

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 The BitCoin Scripting Language 交易实例 交易结构 "result": { "txid": "921a dd24", "hash": "921a dd24", "version": 1, "size": 226, "locktime": 0, "vin": [ ], "vout": [ ], "blockhash": "0000000000000000002c510d

More information

Microsoft Word - ShkZw3.doc

Microsoft Word - ShkZw3.doc 第 3 章 Struts2 的高级组件 本章将介绍 Struts2 中比较常用的高级组件 通过对这些高级组件的学习, 将有助于进一步了解和使用 Struts2 框架 本章主要内容 : (1)Struts2 对国际化的支持 (2)Struts2 常用拦截器的使用 (3)Struts2 的数据验证功能 (4)Struts2 对文件上传和下载的支持 3.1 Struts2 的国际化 国际化 是指一个应用程序在运行时能够根据客户端请求所来自国家或地区语言的不同而显示不同的用户界面

More information

拦截器(Interceptor)的学习

拦截器(Interceptor)的学习 二 拦截器 (Interceptor) 的学习 拦截器可以监听程序的一个或所有方法 拦截器对方法调用流提供了细粒度控制 可以在无状态会话 bean 有状态会话 bean 和消息驱动 bean 上使用它们 拦截器可以是同一 bean 类中的方法或是一个外部类 下面介绍如何在 Session Bean 类中使用外部拦截器类 @Interceptors 注释指定一个或多个在外部类中定义的拦截器 下面拦截器

More information

Untitled

Untitled Spring 4.0.0 spring-framework-reference QQ 413615763 Weibo le Email not-three@foxmail.com 2013.12.16 2.2 2013.12.17 2.3 : 2013.12.18 2.3 : 2013.12.18 2.3 :- Commons Logging Spring Spring Spring IoC StrutsHibernate

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 组件技术概述 现在软件开发都已经转向了基于组件的开发, 目前具备代表性的组件技术有微软的 COM COM+, 有 Sun 的 Bean 和 EJB(Enterprise Bean), 另外还有 CORBA(Common Object Request Broker Architecture, 公 共对象请求代理结构 ) Bean Bean 规范将 软件组件

More information

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat

2. AOP 底层技术实现 小风 Java 实战系列教程 关键词 : 代理模式 代理模型分为两种 : 1) 接口代理 (JDK 动态代理 ) 2) 子类代理 (Cglib 子类代理 ) 需求 :CustomerService 业务类, 有 save,update 方法, 希望在 save,updat 本章学习目标 小风 Java 实战系列教程 AOP 思想概述 AOP 底层技术实现 AOP 术语介绍 SpringAOP 的 XML 方式 HelloWorld SpringAOP 的 XML 方式配置细节 SpringAOP 的注解方式 SpringAOP 的零配置方式 1. AOP 思想概述 1.1. AOP 思想简介 1.2. AOP 的作用 2. AOP 底层技术实现 小风 Java 实战系列教程

More information

新美大酒店开放平台SDK(.NET版)使用说明.pages

新美大酒店开放平台SDK(.NET版)使用说明.pages SDK(.NET 版 ) 使 用说明 1 SDK 包说明 1.1 获取 SDK SDK 可以在数据平台下载, 也可直接通过下载地址获得 下载地址 : http://s3.meituan.net/v1/mss_de81c933e113413ea913a772b707b9c9/open-platform-sdk/mthotelopenplatform-sdk-1.0-net.zip 下载成功后, 解压后可获得

More information

Microsoft Word - 第4章 Servlet开发—教学设计.doc

Microsoft Word - 第4章 Servlet开发—教学设计.doc 传智播客 JavaWeb 程序开发入门 教学设计 课程名称 : JavaWeb 程序开发入门 授课年级 : 2014 年级 授课学期 : 2014 学年第一学期 教师姓名 : 某某老师 2014 年 09 月 09 日 课题名称内容分析教学目标及基本要求重点及措施 计划第 4 章 Servlet 技术 6 课时学时随着 Web 应用业务需求的增多, 动态 Web 资源的开发变得越来越重要, 为此 Sun

More information

新・解きながら学ぶJava

新・解きながら学ぶJava 481! 41, 74!= 40, 270 " 4 % 23, 25 %% 121 %c 425 %d 121 %o 121 %x 121 & 199 && 48 ' 81, 425 ( ) 14, 17 ( ) 128 ( ) 183 * 23 */ 3, 390 ++ 79 ++ 80 += 93 + 22 + 23 + 279 + 14 + 124 + 7, 148, 16 -- 79 --

More information

使用MapReduce读取XML文件

使用MapReduce读取XML文件 使用 MapReduce 读取 XML 文件 XML( 可扩展标记语言, 英语 :extensible Markup Language, 简称 : XML) 是一种标记语言, 也是行业标准数据交换交换格式, 它很适合在系统之间进行数据存储和交换 ( 话说 Hadoop H ive 等的配置文件就是 XML 格式的 ) 本文将介绍如何使用 MapReduce 来读取 XML 文件 但是 Had oop

More information

PowerPoint Presentation

PowerPoint Presentation 1 版权所有 2011,Oracle 和 / 或其分支机构 保留所有权利 从幻灯片 8 中插入信息保护策略分类 WAC Widget Java ME 手机新动向陈志宇 2 版权所有 2011,Oracle 和 / 或其分支机构 保留所有权利 从幻灯片 8 中插入信息保护策略分类 以下内容旨在概述我们产品总的发展方向 该内容仅供参考, 不可纳入任何合同 该内容不构成提供任何材料 代码或功能的承诺, 并且不应该作为制定购买决策的依据

More information

Stateless Session Beans(无状态bean)的学习

Stateless Session Beans(无状态bean)的学习 一 Stateless Session Beans( 无状态 bean) 的学习 第一步 : 要定义一个会话 Bean, 首先需要定义一个包含他所有业务方法的接口 这个接口不需要任何注释, 就像普通的 java 接口那样定义 调用 EJB 的客户端通过使用这个接口引用从 EJB 容器得到的会话 Bean 对象 stub 接口的定义如下: HelloWorld.java package com.foshanshop.ejb3;

More information

第03章 控制反转(Spring IoC)

第03章  控制反转(Spring IoC) 3 Spring IoC GoF Design Patterns: Elements of Reusable Object-Oriented Software Programming to an Interface not an Implementation Java Java Java GoF Service Locator IoC IoC Spring IoC 3.1 IoC IoC IoC Dependency

More information

OSWorkflow Documentation

OSWorkflow Documentation OSWorkflow Documentation Update Time: 05/09/15 OSWorkflow Java workflow engine API 理 flow 行 XML 來 流 Database UI 不 流 GUI Designer end user 行 JSP+Servlet 行 OSWorkflow 2.8 說 2.7 2.7 了 OSWorkflow library library

More information

设计模式 Design Patterns

设计模式 Design Patterns 丁勇 Email:18442056@QQ.com 学习目标 描述 JSP 表达式语言的语法 认识使用 JSP 表达式的优点 在 JSP 中使用表达式语言 表达式语言简介 5 1 EL 为表达式语言 由两个组开发 JSP 标准标签库专家组 JSP 2.0 专家组 JSP 表达式语言的语法 ${EL Expression} JSP EL 表达式用于以下情形 静态文本 标准标签和自定义标签 表达式语言简介

More information

jsp

jsp JSP Allen Long Email: allen@huihoo.com http://www.huihoo.com 2004-04 Huihoo - Enterprise Open Source http://www.huihoo.com 1 JSP JSP JSP JSP MVC Huihoo - Enterprise Open Source http://www.huihoo.com 2

More information

EJB-Programming-3.PDF

EJB-Programming-3.PDF :, JBuilder EJB 2.x CMP EJB Relationships JBuilder EJB Test Client EJB EJB Seminar CMP Entity Beans Value Object Design Pattern J2EE Design Patterns Value Object Value Object Factory J2EE EJB Test Client

More information

Microsoft Word - JavaWeb程序开发入门—教学大纲.doc

Microsoft Word - JavaWeb程序开发入门—教学大纲.doc JavaWeb 程序开发入门 课程教学大纲 ( 课程英文名称 ) 课程编号 : 201409210011 学分 : 5 学分学时 : 54 学时 ( 其中 : 讲课学时 :38 上机学时 :16) 先修课程 :Java 基础入门 MySQL 数据库入门后续课程 :JavaWeb 程序开发进阶教程适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 JavaWeb 程序开发入门

More information

ChinaBI企业会员服务- BI企业

ChinaBI企业会员服务- BI企业 商业智能 (BI) 开源工具 Pentaho BisDemo 介绍及操作说明 联系人 : 杜号权苏州百咨信息技术有限公司电话 : 0512-62861389 手机 :18616571230 QQ:37971343 E-mail:du.haoquan@bizintelsolutions.com 权限控制管理 : 权限控制管理包括 : 浏览权限和数据权限 ( 权限部分两个角色 :ceo,usa; 两个用户

More information

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech

Office Office Office Microsoft Word Office Office Azure Office One Drive 2 app 3 : [5] 3, :, [6]; [5], ; [8], [1], ICTCLAS(Institute of Computing Tech - OfficeCoder 1 2 3 4 1,2,3,4 xingjiarong@mail.sdu.edu.cn 1 xuchongyang@mail.sdu.edu.cn 2 sun.mc@outlook.com 3 luoyuanhang@mail.sdu.edu.cn 4 Abstract. Microsoft Word 2013 Word 2013 Office Keywords:,, HTML5,

More information

Microsoft Word - 01.DOC

Microsoft Word - 01.DOC 第 1 章 JavaScript 简 介 JavaScript 是 NetScape 公 司 为 Navigator 浏 览 器 开 发 的, 是 写 在 HTML 文 件 中 的 一 种 脚 本 语 言, 能 实 现 网 页 内 容 的 交 互 显 示 当 用 户 在 客 户 端 显 示 该 网 页 时, 浏 览 器 就 会 执 行 JavaScript 程 序, 用 户 通 过 交 互 式 的

More information

PowerPoint 演示文稿

PowerPoint 演示文稿 Dalian MinZu University 实训单元 2 JSP 基础语法 李腾 信息与通信工程学院 目录 一 实训目的二 实训设备三 实训内容 一 实训目的 学习如何建立 JSP 页面, 实践 JSP 声明 表达式和注释 JSP 指令 JSP 动作等知识, 结合实际案例, 让学生进行知识的巩固 实训时长 : 2 课时 二 实训设备 PC 机 :Intel Core i3 CPU ; 4G 内存

More information

关于属性文件的读法

关于属性文件的读法 轻松入门之 Struts2 V3.0 前言 Struts2 其实并不是一个陌生的 Web 框架,Struts2 是以 Webwork 的设计思想为核心, 吸收了 Struts1 的优点, 因此, 可以认为 Struts2 是 Struts1 和 Webwork 结合的产物 Struts2 的使用人群逐渐增多, 它在逐步吸引开发者和用户的目光, 毫无疑问, 大家最终都会选择于它, 困为它确实是一个很优秀的框架

More information

手册 doc

手册 doc 1. 2. 3. 3.1 3.2 3.3 SD 3.4 3.5 SD 3.6 3.7 4. 4.1 4.2 4.3 SD 4.4 5. 5.1 5.2 5.3 SD 6. 1. 1~3 ( ) 320x240~704x288 66 (2G SD 320x2401FPS ) 32M~2G SD SD SD SD 24V DC 3W( ) -10~70 10~90% 154x44x144mm 2. DVR106

More information

Spark读取Hbase中的数据

Spark读取Hbase中的数据 Spark 读取 Hbase 中的数据 Spark 和 Flume-ng 整合, 可以参见本博客 : Spark 和 Flume-ng 整合 使用 Spark 读取 HBase 中的数据 如果想及时了解 Spark Hadoop 或者 Hbase 相关的文章, 欢迎关注微信公共帐号 :iteblog_hadoop 大家可能都知道很熟悉 Spark 的两种常见的数据读取方式 ( 存放到 RDD 中 ):(1)

More information

1

1 PRIMETON TECHNOLOGIES, LTD. EOS EOS Manager No part of this document may be reproduced, stored in any electronic retrieval system, or transmitted in any form or by any means, mechanical, photocopying,

More information

chap07.key

chap07.key #include void two(); void three(); int main() printf("i'm in main.\n"); two(); return 0; void two() printf("i'm in two.\n"); three(); void three() printf("i'm in three.\n"); void, int 标识符逗号分隔,

More information

Chapter 9: Objects and Classes

Chapter 9: Objects and Classes Java application Java main applet Web applet Runnable Thread CPU Thread 1 Thread 2 Thread 3 CUP Thread 1 Thread 2 Thread 3 ,,. (new) Thread (runnable) start( ) CPU (running) run ( ) blocked CPU sleep(

More information

XXXXXXXX http://cdls.nstl.gov.cn 2 26

XXXXXXXX http://cdls.nstl.gov.cn 2 26 [ ] [ ] 2003-7-18 1 26 XXXXXXXX http://cdls.nstl.gov.cn 2 26 (2003-7-18) 1...5 1.1...5 1.2...5 1.3...5 2...6 2.1...6 2.2...6 2.3...6 3...7 3.1...7 3.1.1...7 3.1.2...7 3.1.2.1...7 3.1.2.1.1...8 3.1.2.1.2...10

More information

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探

付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探 付宝容器 jsapi 档 册 PDF 版本 本版本为实验版本, 为线下独 查看使, 受制于 成 PDF 程序的限制, 样式问题还没有很好的解决, 例如分 切图 代码 亮 推荐使 在线版本, 便实时查看 jsapi 运 效果 如需搜索, 使 阅读 PDF 软件 带功能即可 更多细节样式调整和 录索引探索建设中 成时间 : 2017-07-20 12:13:21 Since 8.6 定义键盘 定义键盘使

More information

untitled

untitled -JAVA 1. Java IDC 20 20% 5 2005 42.5 JAVA IDC JAVA 60% 70% JAVA 3 5 10 JAVA JAVA JAVA J2EE J2SE J2ME 70% JAVA JAVA 20 1 51 2. JAVA SUN JAVA J2EE J2EE 3. 1. CSTP CSTP 2 51 2. 3. CSTP IT CSTP IT IT CSTP

More information

Microsoft PowerPoint - ch6 [相容模式]

Microsoft PowerPoint - ch6 [相容模式] UiBinder wzyang@asia.edu.tw UiBinder Java GWT UiBinder XML UI i18n (widget) 1 2 UiBinder HelloWidget.ui.xml: UI HelloWidgetBinder HelloWidget.java XML UI Owner class ( Composite ) UI XML UiBinder: Owner

More information

WebEx 一键集成 1 文档目的 Web 集成 URL API 语法 启会 加会 调用 移动集成 wbx schema 调用 取得 sessionticket...4

WebEx 一键集成 1 文档目的 Web 集成 URL API 语法 启会 加会 调用 移动集成 wbx schema 调用 取得 sessionticket...4 WebEx 一键集成 1 文档目的...1 2 Web 集成...1 2.1 URL API 语法...1 2.2 启会...2 2.3 加会...3 2.4 调用...3 3 移动集成...3 3.1 wbx schema...3 3.2 调用...4 4 取得 sessionticket...4 1 文档目的 本文档目的是, 让用户了解如何在 Web 端和移动端, 一键调用 WebEx app,

More information

北 风 网 讲 师 原 创 作 品 ---- 仅 供 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见

北 风 网 讲 师 原 创 作 品 ---- 仅 供  学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 北 风 网 讲 师 原 创 作 品 ---- 仅 供 www.ibeifeng.com 学 员 内 部 交 流 使 用 前 言 吾 尝 终 日 而 思 矣, 不 如 须 臾 之 所 学 也 ; 吾 尝 跂 而 望 矣, 不 如 登 高 之 博 见 也 登 高 而 招, 臂 非 加 长 也, 而 见 者 远 ; 顺 风 而 呼, 声 非 加 疾 也, 而 闻 者 彰 假 舆 马 者, 非 利 足 也,

More information

PrintWriter s = new PrintWriter(writer); ex.printstacktrace(s); mv.addobject("exception", writer.tostring()); mv.setviewname("error"); return

PrintWriter s = new PrintWriter(writer); ex.printstacktrace(s); mv.addobject(exception, writer.tostring()); mv.setviewname(error); return 本章学习目标 小风 Java 实战系列教程 SpringMVC 异常处理 SpringMVC 文件上传 SpringMVC 处理 JSON 格式数据 SpringMVC 拦截器 SpringMVC 对 restful 风格的支持 1. SpringMVC 异常处理 1.1. @ExceptionHandler 注解处理异常 @ExceptionHandler 该注解使用在异常处理方法上面 1.1.1.

More information

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63>

<4D6963726F736F667420576F7264202D20BBF9D3DA416E64726F6964C6BDCCA8B5C4B5E7D7D3C5C4C2F4CFB5CDB32E646F63> 基 于 Android 平 台 的 电 子 拍 卖 系 统 摘 要 本 电 子 拍 卖 系 统 其 实 就 是 一 个 电 子 商 务 平 台, 只 要 将 该 系 统 部 署 到 互 联 网 上, 客 户 都 可 以 在 该 系 统 上 发 布 想 出 售 的 商 品, 也 可 以 对 拍 卖 中 的 商 品 参 与 竞 价 整 个 过 程 无 须 人 工 干 预, 由 系 统 自 动 完 成 本

More information

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例

帝国CMS下在PHP文件中调用数据库类执行SQL语句实例 帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例 这篇文章主要介绍了帝国 CMS 下在 PHP 文件中调用数据库类执行 SQL 语句实例, 本文还详细介绍了帝国 CMS 数据库类中的一些常用方法, 需要的朋友可以参考下 例 1: 连接 MYSQL 数据库例子 (a.php)

More information

J2ME ISBN J2ME MIDP MIDP 2.0 API J2ME Netbeans IDE 4.1 Mobility Pack 4.1 MIDlet MIDlet MIDP PUSH API PDA API Ja

J2ME ISBN J2ME MIDP MIDP 2.0 API J2ME Netbeans IDE 4.1 Mobility Pack 4.1 MIDlet MIDlet MIDP PUSH API PDA API Ja Java JBuilder 2005 2005 6 ISBN 7-121-01166-2 69.00 1 688 JBuilder JBuilder 2005 JBuilder JBuilder 2005 JBuilder 2005 Java Java Java JBuilder 17 J2ME 2006 1 ISBN 7-121-02210-9 39.00 1 436 J2ME MIDP MIDP

More information

序号:001

序号:001 第 一 组 选 题 简 介 序 号 :001 题 目 : 基 于 BPEL 的 网 上 订 餐 系 统 的 设 计 与 实 现 网 上 订 餐 系 统 是 在 互 联 网 上 进 行 菜 单 信 息 发 布 网 上 订 餐 以 及 维 护 客 户 关 系 的 电 子 商 务 系 统, 餐 饮 企 业 可 以 通 过 这 个 电 子 商 务 系 统 发 布 自 己 的 菜 单 信 息 以 供 客 户

More information

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难

2 Java 语 言 程 序 设 计 教 程 1.2.1 简 单 性 Java 语 言 的 语 法 与 C 语 言 和 C++ 语 言 很 接 近, 使 得 大 多 数 程 序 员 很 容 易 学 习 和 使 用 Java 另 一 方 面,Java 丢 弃 了 C++ 中 很 少 使 用 的 很 难 第 1 章 Java 概 述 Java 的 诞 生 Java 的 特 点 Java 开 发 环 境 安 装 与 配 置 创 建 并 运 行 一 个 简 单 的 Java 程 序 Java 语 言 是 当 今 计 算 机 软 件 行 业 中 最 热 门 的 网 络 编 程 语 言, 以 Java 为 核 心 的 芯 片 技 术 编 译 技 术 数 据 库 连 接 技 术, 以 及 基 于 企 业 级

More information

设计模式 Design Patterns

设计模式 Design Patterns Spring 与 Struts Hibernate 的集成 丁勇 Email:18442056@QQ.com 学习目标 掌握 Spring 与 Struts 的集成 掌握 Spring 与 Hibernate 的集成 学会使用 Spring 实现声明式事务 Spring 与 Hibernate 集成 使用 Spring 简化 Hibernate 编程 使现有使现有 Java Java EE EE 技术更易用

More information

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数

OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 OOP with Java Yuanbin Wu cs@ecnu OOP with Java 通知 Project 4: 4 月 18 日晚 9 点 关于抄袭 没有分数 复习 类的复用 组合 (composition): has-a 关系 class MyType { public int i; public double d; public char c; public void set(double

More information

Spring 的入门程序 依赖注入的概念 依赖注入的实现方式 Spring 的核心容器 Spring 的入门程序 依赖注入的概念 依赖注入的实现方式 依赖注入的概念 了解 Spring 的概念和优点 理解 Spring 中的 IoC 和 DI 思想 掌握 ApplicationContext 容器的

Spring 的入门程序 依赖注入的概念 依赖注入的实现方式 Spring 的核心容器 Spring 的入门程序 依赖注入的概念 依赖注入的实现方式 依赖注入的概念 了解 Spring 的概念和优点 理解 Spring 中的 IoC 和 DI 思想 掌握 ApplicationContext 容器的 Java EE 企业级应用开发教程 (Spring+Spring MVC+MyBatis) 课程教学大纲 ( 课程英文名称 ) 课程编号 : XXXX 学分 : 5 学分学时 : 90 学时 ( 其中 : 讲课学时 :55 上机学时 :35) 先修课程 :Java 基础案例教程 Java Web 程序设计任务教程 MySQL 数据库入门适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一

More information

IoC容器和Dependency Injection模式.doc

IoC容器和Dependency Injection模式.doc IoC Dependency Injection /Martin Fowler / Java Inversion of Control IoC Dependency Injection Service Locator Java J2EE open source J2EE J2EE web PicoContainer Spring Java Java OO.NET service component

More information

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile.. WebSphere Studio Application Developer IBM Portal Toolkit... 1/21 WebSphere Studio Application Developer IBM Portal Toolkit Portlet Doug Phillips (dougep@us.ibm.com),, IBM Developer Technical Support Center

More information

序 言 本 专 业 人 才 培 养 方 案 以 适 应 市 场 需 求 为 目 标, 根 据 学 校 校 企 双 主 体 人 才 培 养 的 要 求 和 移 动 应 用 开 发 专 业 的 特 点 设 置 课 程 体 系, 体 现 了 课 程 为 市 场 服 务 的 特 点 本 专 业 要 求 学

序 言 本 专 业 人 才 培 养 方 案 以 适 应 市 场 需 求 为 目 标, 根 据 学 校 校 企 双 主 体 人 才 培 养 的 要 求 和 移 动 应 用 开 发 专 业 的 特 点 设 置 课 程 体 系, 体 现 了 课 程 为 市 场 服 务 的 特 点 本 专 业 要 求 学 广 东 新 安 职 业 技 术 学 院 计 算 机 移 动 应 用 开 发 专 业 2016 级 人 才 培 养 方 案 专 业 方 向 负 责 人 : 梅 红 系 主 任 : 毛 立 冰 计 算 机 系 二 一 五 年 六 月 序 言 本 专 业 人 才 培 养 方 案 以 适 应 市 场 需 求 为 目 标, 根 据 学 校 校 企 双 主 体 人 才 培 养 的 要 求 和 移 动 应 用 开

More information

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID

59 1 CSpace 2 CSpace CSpace URL CSpace 1 CSpace URL 2 Lucene 3 ID 4 ID Web 1. 2 CSpace LireSolr 3 LireSolr 3 Web LireSolr ID 58 2016. 14 * LireSolr LireSolr CEDD Ajax CSpace LireSolr CEDD Abstract In order to offer better image support services it is necessary to extend the image retrieval function of our institutional repository.

More information

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX

目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX BPMX3 技 术 白 皮 书 业 务 流 程 开 发 平 台 介 绍 目 录 1. 业 务 流 程 系 统 开 发 面 临 的 挑 战 与 机 遇... 3 1.1 业 务 流 程 管 理... 4 2. 新 一 代 开 源 业 务 流 程 开 发 平 台 BPMX3... 5 2.1 BPMX3 是 什 么... 5 2.2 为 什 么 要 优 先 采 用 BPMX3... 5 2.2.1 BPMX3

More information

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型

没 有 多 余 的 Contruol 或 Action 了 原 来 Domain 层 被 服 务 层 Service layer 遮 挡, 在 右 边 图 中, 则 Domain 层 直 接 暴 露 给 前 台 了, 没 有 被 遮 挡, 裸 露 了 这 样 一 步 到 位 实 现 领 域 模 型 文 章 编 号 :1007-757X(2012)1-0036-04 领 域 驱 动 模 型 的 WEB 软 件 系 统 设 计 研 究 摘 要 : J2EE 3 JDK1.7 Tomcat WEB 关 键 词 : 中 图 分 类 号 :TP311 文 献 标 志 码 :A 0 引 言 Web 软 件 系 统 的 分 层 结 构 典 型 的 J2EE 软 件 系 统 开 发 方 法 分 为 三 层 结

More information

Microsoft Word - 第7章 初识Hibernate—教学大纲.doc

Microsoft Word - 第7章 初识Hibernate—教学大纲.doc SSH 框架整合实战教程 课程教学大纲 ( 课程英文名称 ) 课程编号 : 学分 : 5 学分学时 : 108 学时 ( 其中 : 讲课学时 :76 上机学时 :32) 先修课程 :Java 基础入门 MySQL 数据库入门 JavaWeb 程序开发入门 JavaWeb 程序开发进阶适用专业 : 信息及其计算机相关专业开课部门 : 计算机系 一 课程的性质与目标 SSH 框架整合实战教程 是面向计算机相关专业的一门专业

More information

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30

0 配置 Host MIB 设备 V ( 简体版 ) 0 Update: 2016/1/30 0 配置 Host MIB 设备 V 1.1.2 ( 简体版 ) 0 Update: 2016/1/30 前言 N-Reporter 支持 Host Resource MIB 监控主机 (Host) 状态, 本文件描述 N-Reporter 用户如何配置 Host MIB 设备 文件章节如下 : 1. 配置 Windows Server 2003... 2 1-1.Windows Server 2003

More information

使用 XFire 与 Spring 开发 Web Service 2 实现功能与特点 基于 J2EE 平台的 Web Service 服务 开发方便, 配置简单 设计接口 实现服务 配置暴露接口 XFire 将自动生成对应的 wsdl 支持高级详细配置 与 Spring 无缝集成 运行环境 JDK

使用 XFire 与 Spring 开发 Web Service 2 实现功能与特点 基于 J2EE 平台的 Web Service 服务 开发方便, 配置简单 设计接口 实现服务 配置暴露接口 XFire 将自动生成对应的 wsdl 支持高级详细配置 与 Spring 无缝集成 运行环境 JDK 使用 XFire 与 Spring 开发 Web Service 1 使用 XFire 与 Spring 开发 Web Service 王啸宇信易诚 wangxiao1@mail.yuchengtech.com 目录 实现功能与特点... 2 运行环境... 2 开发平台... 2 实施步骤... 2 概述... 2 新建 Java Project... 3 新建 WTP 动态 WEB 工程...

More information

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas Contents 目錄 chapter 1 1-1... 1-2 1-2... 1-3 HTML5... 1-3... 1-5 1-3... 1-9 Web Storage... 1-9... 1-10 1-4 HTML5... 1-14... 1-14... 1-15 HTML5... 1-15... 1-15... 1-16 1-5... 1-18 Apps... 1-18 HTML5 Cache

More information

javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询

javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询 javascript sdk javascript sdk 列出 Bucket 内的对象上传 textarea 内容到 Bucket 上传本地文件生成私有下载链接生成带过期时间的私有链接删除对象下载对象拷贝对象查看文件访问权限设置文件访问权限获取静态网站配置设置静态网站删除静态网站查询对象元数据查询桶的多版本 Bucket 开启对象多版本支持挂起 Bucket 的多版本对象功能浏览器客户端浏览器客户端的

More information

Microsoft Word - json入门.doc

Microsoft Word - json入门.doc Json 入门 送给亲爱的女朋友, 祝她天天快乐 作者 :hlz QQ:81452743 MSN/Email:hulizhong2008@163.com json 入门 (1) json 是 JavaScript Object Notation 的简称 ; 在 web 系统开发中与 AJAX 相结合用的比较多 在 ajax 中数据传输有 2 中方式 : 文本类型, 常用 responsetext 属性类获取

More information

Struts2自定义类型转换.doc

Struts2自定义类型转换.doc Struts2 自定义类型转换 原理 struts2 的自定义类型转换机制为复杂类型的输入输出处理提供了便捷.struts2 已经为我们提供了几乎所有的 primitive 类型以及常用类型 ( 如 Date) 的类型转换器, 我们也可以为我们自定义类添加自定义类型转化器. struts2 为我们提供了一个类型转化器的入口 : ognl.defaulttypeconverter, 或继承 org.apache.struts2.util.strutstypeconverter,

More information

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工

声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 ( 申 报 稿 ) 主 办 券 商 二 〇 一 五 年 十 月 声 明 本 公 司 及 全 体 董 事 监 事 高 级 管 理 人 员 承 诺 不 存 在 任 何 虚 假 记 载 误 导 性 陈 述 或 重 大 遗 漏, 并 对 其 真 实 性 准 确 性 完 整 性 承 担 个 别 和 连 带 的 法 律 责 任 本 公 司 负 责 人 和 主 管 会 计 工 作 的 负 责 人 会 计 机 构

More information

06-4.indd

06-4.indd 1 02 07 13 16 20 28 33 38 42 46 48 51 57 64 65 65 66 67 68 2 3 4 5 6 7 8 9 10 11 12 13 LL T : 14 LL T 15 16 扫描电子显微镜成像模拟的 MPI 及 OpenMP 并行化 17 18 19 20 21 22 ~ ~ ~ 23 24 ~ ~ ~ ~ ~ ~ ~ 25 26 27 28 29 图 3

More information

目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放 性... 8 3.5 高 性 能 和

目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放 性... 8 3.5 高 性 能 和 致 远 协 同 管 理 软 件 V5 平 台 白 皮 书 北 京 致 远 协 创 软 件 有 限 公 司 2014 年 6 月 1 / 20 目 录 目 录... 2 1 平 台 概 述... 3 2 技 术 架 构... 4 3 技 术 特 点... 7 3.1 基 于 统 一 平 台 的 多 产 品 线 支 撑... 7 3.2 先 进 性... 7 3.3 安 全 性... 7 3.4 开 放

More information