软件架构平台技术重点
不做任何修改的情况下,就可以在不同的
国家或地区和不同的语言环境下,按照当
地的语言和格式习惯显示字符,又被称为
I18N。 一个国际化的程序,当运行在本地机器上
时,需要根据本地机器的语言和地区设置
显示相应的字符,这个过程就叫做本地化
(Localization),简称 L10N。 Struts 2 采用属性文件来保存资源包。
就是 javascript 可以及时向服务器提出请 求和处理响应,而不阻塞用户,达到无刷
新的效果。 Ajax 应用的处理流程
第一步:一个客户端事件触发一个
Ajax 事件 第二步:创建 XMLHttpRequest 对象
的一个实例。 第三步:向服务器做出请求。 第四步:服务器完成业务逻辑 第五步:请求返回到浏览器 第六步:处理响应数据 Ajax 框架 浏览器端
name=
“excludeMethods”>input,back,cancel
</param>
<param
name=
“includeMethods”>execute</param>
</interceptor-ref>
</action>
<default-interceptor-ref name=“logger” />
代码的 Ajax 开发工具包。应用于客户端(浏 览器),其目标是简化动态网页的开发过
JSP
Servlet 是一种独立于平台和协议的服务器 端的 Java 应用程序,可以生成动态的 Web 页面
Servlet 能干什么 根 椐 请 求 创 建 并 响 应 整 个 HTML Web 页面,根据客户请求的性质而具 有动态内容 创建 HTML Web 页面的动态部分, 并嵌入到现有静态 HTML 页面中 使用服务器上的其他资源,如数据库、
MVC 将交互式应用程序组织成三个独立 的模块: 应用程序模块,用于表示数据和业务 逻辑(Model) 数据表示模块(View) 控制器,用于发送请求和控制应用程 序的流程(Controller)
JavaScript 是一种动态、弱类型、基于原型 的语言,内置支持类
AJAX
异步交互方式:异步发送请求,消除了传
统的“发送请求-等待-发送请求-等待” 的特性,极大的提高了用户体验 异步:发送请求后不等返回结果,由
回调函数处理结果 JavaScript:向服务器发起请求,获得
返回结果,更新页面 XML:封装数据 XMLHttpRequest 是 ajax 的核心机制,是 一种支持异步请求的技术。简单的说,也
Struts 2 的类型转换
HTML 均为 String,所以类型转换不
可避免。 一个良好的框架应该提供完备的类型
转换功能。 Struts 2 提供基本的类型转换的功能,
还提供对集合框架相当好的支撑。
Student.java
&&
Student-conversicn.properties 国际化(Internationalization)是使程序在
由于软件已经实现了基本的 MVC 架构,开 发者可以基于这个软件,添加自己特定的
业务逻辑,这样的软件就可以被称为 Web 框架。
通过 Web 框架 规范软件的架构 减轻开发的难度 提高效率 降低维护成本
Struts1 的缺陷: Formbean 与 ActionServlet 有关 控制器无法脱 web 不能做单元测试
Model I 体系结构用于开发简单的应 用程序
Model I 体系结构包括多个用户可与 之交互的页面
客户端能够直接访问加载到服务器上 的页面
Model I Web 应用程序由复杂的 Web 逻辑组成,并链接至 Web 应用程序 的其他页面
缺点 内容和表示依然没有完全解耦(分离) 不加选择地随意运用 Model 1,会导致 JSP 页 内 被 嵌 入 大 量 的 脚 本 片 段 或 Java 代码 JSP 页面是由网页设计人员开发并维 护的
ExecuteAndWaitInterceptor 只拦截 excute 方
法
拦截器配制方法:
<action name="test" class="。。。">
<result>/index.jsp</result>
<interceptor-ref name="logger">
<param
其他 Java 程序 处理与多个 Web 客户端的连接,接
收来自多个 Web 客户端的输入信息 JSP 与 Servlet 的关系
JSP 是一种建立在 Servlet 规范提供的 功能之上的动态网页技术
JSP 文件在用户第一次请求时,会被 编译成 Servlet,然后由这个 Servlet 处 理用户的请求
配置文件
struts-plugin.xml Struts 2 框 架 的 插 件
所用的配置文件
<action name="del" class="CH11.action.df"
method="delete">
<result type="redirect">/list.action</result>
JSP 可以看成是运行时的 Servlet JSP 执行过程
客户端发出请求(Request) JSP 容器将 JSP 转译成 Servlet 的源代
码 编译 Servlet,并加载到内存执行 将结果响应(Response)至客户端 JSP 语法提供 3 种脚本元素 声明(Declarations)——声明变量或
Struts 2 提供 4 中方式访问资源文件中的本 地化信息 在 action 中 访 问 — — getText() 方 法 <s:param name="submit" value= "getText('submit')"/> 在 JSP 中通过 Struts 2 标签访问——<s: text>标签 <s:text name="title"/> 在表单标签的属性中访问——label 或 key 属性 在资源文件中访问——OGNL 表达式 =${ername}, congratulation, register success!
list="#{true : '男', false : '女'}" label="
性别" /> <s:component
template="submit_resetTemplate.jsp"> <s:param name="submit" value="' 注
册'"/> </s:component> </s:form>
Dojo Google AJAXSLT jQuery 服务器端 JSON/JSON-RPC Rails DWR
AJAX 的问题 定位的问题 前过后退功能键失效 用户对 AJAX 网站的方式不习惯 客户端性能问题
基于 MVC 架构模式开发的面跳转的处理也比较混乱
Struts2 的解决方法
Action 中有一个 publc String 方法,配
置到 strurs.xml 中,充当 servlet 控制器脱离 web Struts2 步骤 导入 Struts 2 类库 配置 web.xml 编写业务逻辑 编写结果页面 编写 struts.xml 使用领域对象接收用户输入 避免 Struts 1 的 ActionForm 问题 是业务逻辑不依赖与 Struts 2 框架 使用 ModelDriven action ModelDriven 允许直接操作应用程序
方法 Scriptlets——编写有效的 Java 程序片
段 表达式(Expressions)——合法的 Java
表达式 Servlet 对象包括
page
config JSP 中会话跟踪的方法
隐藏域 URL 传值 session cookie 会话跟踪:维持 JSP 和客户端之间的 HTTP 连接的方法 JavaBean 往往封装了程序的页面逻辑,它 是可重用的组件。通过使用 JavaBean,可 以减少在 JSP 中脚本代码的使用,这样使 得 JSP 易于维护。 JavaBean 的优点 变更方便 可重用组件 可在多个应用程序中使用 可以跨平台 Servlet 过滤器常用的应用场景 对用户请求进行统一认证 用户的访问进行记录和审核 对用户发送的数据进行过滤或替换 转换图像格式 对响应内容进行压缩,减少传输量 对请求和响应进行加解密处理 JDBC 可做三件事 与数据库建立连接执行 SQL 语句、处
MVC: 相同点 所有请求直接访问控制器,有控 制器对请求进行分发 控制器实例化 JavaBean 对象, 由 JavaBean 对象实现业务逻辑, 以及承载数据 控制器根据请求处理的结果,向 用户呈现相应的视图 不同点 用户请求 URL 的不同对应了不 同的处理单元 不同表单提交的数据需要不同 的 JavaBean 对象来保存 请求处理结果不同导致呈现视 图额不同