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

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

untitled

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

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

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

Microsoft Word - PHP7Ch01.docx

"+handlermethod.getbean().getclass().getname()); public void aftercompletion(httpservletrequest req, HttpServletResponse resp, Object handler, Excepti

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

新・解きながら学ぶJava

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

Microsoft Word - 01.DOC

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

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

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

Servlet

Microsoft Word - json入门.doc

Microsoft Word - 扉页.doc

Struts2自定义类型转换.doc

EJB-Programming-4-cn.doc

EJB-Programming-3.PDF

RUN_PC連載_10_.doc

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

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


输入 project name 选择完成

untitled

5-1 nav css 5-2

互動網頁技術系列課程 HTML與CSS網站基礎設計 [12pt]

中 国 矿 业 大 学

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

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

05 01 accordion UI containers 03 Accordion accordion UI accordion 54

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

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

使用MapReduce读取XML文件

JSP基础编程

优迈科技教学大纲2009版本

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

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

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

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

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

060522達文西密碼_全_.PDF

Microsoft Word - Ch06.docx

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

untitled

设计模式 Design Patterns

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

1: public class MyOutputStream implements AutoCloseable { 3: public void close() throws IOException { 4: throw new IOException(); 5: } 6:

在Spring中使用Kafka:Producer篇

Microsoft PowerPoint - 10-JSP-Scripting-Elements-Chinese.ppt

第一章

untitled

Microsoft Word 样章.dot

untitled

用手機直接傳值不透過網頁連接, 來當作搖控器控制家電 ( 電視遙控器 ) 按下按鍵發送同時會回傳值來確定是否有送出 問題 :1. 應該是使用了太多 thread 導致在傳值上有問題 2. 一次按很多次按鈕沒辦法即時反應

设计模式 Design Patterns

Hadoop&Spark解决二次排序问题(Hadoop篇)

17 Chapter Video/Audio API 17-1 <video> <audio> 17-2 <video> <audio>

Guava学习之Resources

天仁期末個人報告1.PDF

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政

jsp

OOP with Java 通知 Project 4: 4 月 19 日晚 9 点

Perl

untitled

國家圖書館典藏電子全文

Microsoft PowerPoint - Ch00-4-XHTML.ppt [相容模式]

将 MD5 的工具类拷贝到项目中 二 微服务模块的搭建 我们将权限的查询放到一个单独的模块中, 这个模块提供接口供给消费者远程调用 (RPC), 这次范例是微服开发的雏形, 在以后你使用 springcloud 的时候会使用到今天的概念 1 使用 maven 创建新的模块 (microboot-sh

无类继承.key

《大话设计模式》第一章

關於本書 Part 3 CSS XHTML Ajax Part 4 HTML 5 API JavaScript HTML 5 API Canvas API ( ) Video/Audio API ( ) Drag and Drop API ( ) Geolocation API ( ) Part 5

1.5招募说明书(草案)

IoC容器和Dependency Injection模式.doc

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

「西醫基層總額支付委員會《第28次委員會議紀錄

《linux从入门到精通》实验指导第三讲:文件及目录操作

建模与图形思考

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

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

KillTest 质量更高 服务更好 学习资料 半年免费更新服务

第一章 章标题-F2 上空24,下空24

untitled

JavaIO.PDF

Information for consent

WWW PHP

LiveBOS产品白皮书

2015 年 度 收 入 支 出 决 算 总 表 单 位 名 称 : 北 京 市 朝 阳 区 卫 生 局 单 位 : 万 元 收 入 支 出 项 目 决 算 数 项 目 ( 按 功 能 分 类 ) 决 算 数 一 财 政 拨 款 一 一 般 公 共 服 务 支 出 二

目 录 第 一 部 分 档 案 局 概 况 一 主 要 职 责 二 部 门 决 算 单 位 构 成 第 二 部 分 档 案 局 2016 年 度 部 门 预 算 表 一 2016 年 度 市 级 部 门 收 支 预 算 总 表 二 2016 年 度 市 级 部 门 支 出 预 算 表 三 2016

07-form

LiveBOS产品白皮书

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

雲端 Cloud Computing 技術指南 運算 應用 平台與架構 10/04/15 11:55:46 INFO 10/04/15 11:55:53 INFO 10/04/15 11:55:56 INFO 10/04/15 11:56:05 INFO 10/04/15 11:56:07 INFO

WordPress OSSF OSSF is Seeking Software Freedom 1 blog WordPress WordPress WordPress WordPress 2 WordPress WordPress is a state-of-the-art semantic pe

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

我 们 再 看 到 尼 西 米 记, 也 会 发 现 当 时 神 的 百 姓 有 一 颗 单 纯 受 教 的 心, 他 们 单 纯 的 听 从 神 的 教 导, 敬 畏 遵 从 神 的 训 诲 当 他 们 明 白 自 己 的 罪 孽 时, 个 个 俯 伏 在 地, 为 罪 痛 悔 哭 泣 在 整 个

javaexample-02.pdf

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

了 波 涛 和 号 声 袁 读 者 很 容 易 就 进 入 广 州 城 的 水 上 旅 途 袁 进 入 一 座 野 水 上 名 城 冶 的 传 说 中 去 遥 于 是 袁 一 座 名 城 往 事 充 满 了 漂 流 感 袁 旋 律 自 水 上 而 来 袁 我 们 就 这 样 来 到 了 往 事 的

壹、摘 要

Transcription:

内置对象的取得和多人开发 一 内置对象的取得 在使用的 servlet 的时候可以通过 HttpServletResquest 获取到一些内置对象, 但是在 struts2 中为了方便取得内置对象, 专门提供了一个 ServletActionContext 这个类取得取得内置对象, 观察如下方法 public static javax.servlet.jsp.pagecontext() 取得 pagecontext 内置对象 public static javax.servlet.html.httpservletrequest getrequest() 取得 request 内置对象 public static javax.servlet. HttpServletResponse getresponse () 取得 response 内置对象 public static javax.servlet. ServletContext getservletcontext() 取得 servletcontext 内置对象 范例 : 取得内置对象 public String execute() throws Exception { // 取得 request 内置对象 HttpServletRequest req = ServletActionContext.getRequest(); System.out.println(req); // 取得 session 的内置对象 HttpSession session = req.getsession(); System.out.println(session.getId()); // 取得 response 内置对象 HttpServletResponse resp = ServletActionContext.getResponse(); System.out.println(resp); // 取得 ServletContext 内置对象 ServletContext stc = ServletActionContext.getServletContext(); System.out.println(stc); this.msg = "ECHO:" + this.msg; return Action.SUCCESS;// 返回跳转的映射为 key 以上是 servlet 内置对象的取得的基本方法 二 多人开发

在所有的项目开发中, 一定是多人协作的团队开发, 但是使用框架就会出现一个问题, 我们所 有的 Action 以及相关的路径都要求在我们的 struts.xml 文件中配置, 如果所有的人去修改一个 文件, 那么就会变得混乱, 而且有可能出现冲突, 那么在 struts.xml 文件中为了解决这个问题 可以用用户定义对个配置文件, 之后在 struts.xml 文件中进行合并 我们可以将原来你的 struts.xml 文件拷贝出来, 将名字修改为自己的内容, 之后可以编写自己的内容, 最后整合所有 的 struts.xml 文件 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <include file="struts-sun.xml"/> </struts> 如果配置多个就添加多个 include 三 解决乱码 如果在项目中使用的编码都是统一的 utf-8 就不必要进行编码的处理, 但是我还要这里讲解一下 目的是为了说一下配置文件, 如果要进行乱码的解决实际上是进行 struts2.xml 的属性配置, 既 然是属性配置文件, 那么就应该咋 src 目录下添加 struts.properties 的文件 struts.i18n.encoding=utf-8 struts.locale=zh_cn 只要写上以上的代码就可以在项目中使用任何的编码开发了, 但是此时有个问题 struts 利用的 过滤器完成处理哦, 所以要想过滤器解决乱码, 或者解决用户登录就显得不方便 范例 : 在 src 下定义 Messages.properties 文件 Info.msg= 欢迎 :{0,{1,{2 修改 struts.properties 文件 struts.i18n.encoding=utf-8 struts.locale=zh_cn # 设置要加载的国际化资源文件, 以逗号分隔. struts.custom.i18n.resources=messages,pages,validata 之后在 Action 中读取资源文件的读取 范例 : 读取文件资源 public String execute() throws Exception { String msg = super.gettext("info.msg", new String[] {"hello","word","java"); System.out.println(msg); this.msg = "ECHO:" + msg; return "echo.page";// 返回跳转的映射为 key

四 集合 vo 输入 范例 : 定义两个 vo 类并且设置关系 package com.sun.vo; import java.io.serializable; public class Dept implements Serializable { private String dname; private Integer deptno; public String getdname() { return dname; public void setdname(string dname) { this.dname = dname; public Integer getdeptno() { return deptno; public void setdeptno(integer deptno) { this.deptno = deptno; public String tostring() { return "Dept [dname=" + dname + ", deptno=" + deptno + "]"; public Dept() { package com.sun.vo; import java.io.serializable; import java.util.date; public class Emp implements Serializable { private Integer empno; private String ename; private Double sal;

private Date hiredate; private Dept dept = new Dept(); public Integer getempno() { return empno; public void setempno(integer empno) { this.empno = empno; public String getename() { return ename; public void setename(string ename) { this.ename = ename; public Double getsal() { return sal; public void setsal(double sal) { this.sal = sal; public Date gethiredate() { return hiredate; public void sethiredate(date hiredate) { this.hiredate = hiredate; public Dept getdept() { return dept; public void setdept(dept dept) { this.dept = dept; public String tostring() { return "Emp [empno=" + empno + ", ename=" + ename + ", sal=" + sal + ", hiredate=" + hiredate + ", dept=" + dept + "]"; public Emp() { 范例 : 在 struts.xml 文件中添加 Action 的映射路径 <action name="empaction" class="com.sun.action.empaction"> <result name="emp.insert">emp_insert.jsp</result> </action>

范例 : 定义 emp_insert.jsp 页面 <%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/tr/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <title>insert title here</title> </head> <body> <form action="empaction.action" method="post"> <fieldset> <legend> 登录 </legend> 雇员编号 :<input type="text" name="emp.empno" value="1008"><br/> 雇员姓名 :<input type="text" name="emp.ename" value=" 张三 "><br/> 基本工资 :<input type="text" name="emp.sal" value="10.9"><br/> 雇佣日期 :<input type="date" name="emp.hiredate"><br/> 部门编号 :<input type="text" name="emp.dept.deptno" value="2003"><br/> 部门名称 :<input type="text" name="emp.dept.dname" value=" 开发部 "><br/> <input type="submit" value=" 提交 "> </fieldset> </form> </body> </html> 范例 :EmpAction 类 package com.sun.action; import com.opensymphony.xwork2.actionsupport; import com.sun.vo.emp; @SuppressWarnings("serial") public class EmpAction extends ActionSupport{ private Emp emp = new Emp(); public Emp getemp() { return emp; public void setemp(emp emp) { this.emp = emp; public String execute()throws Exception{ System.out.println(emp); return "emp.insert";

以上我们要将表单中的数据赋值给 servlet 中的属性的时候需要 request.getparameter () 方法来获取, 而且如果是属 servlet 中的属性不是字符串的类型, 还需要手工转换, 但是 struts2.x 不但了可以自动赋值还可以自动类型转换