赛迪网 > IT技术 Java > 最新更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

讲述如何用JBuilder9 开发Struts的实例 (3)

发布时间:2005.06.29 10:29     来源:http://www.java-cn.com    作者:http://www.java-cn.com

步骤七 : 执行 Web 应用程序

接下来可点击选择 JBuilder 菜单 Run 或工具列中绿色三角形符号执行此 Web 应用程序。JBuilder 将于集成开发环境内激活 Tomcat 4.0 Server,我们可以通过 JBuilder 内置之 Web 浏览器进行测试,或于Microsoft Internet Explorer 网址字段中键入:

http://localhost:8080/demo/input.jsp

以进行测试。在 Web 浏览器中我们键入 AAA 与 BBB 按下 Submit 按钮,得到预期之运算结果AAABBB。

倘若将第一个字段改以繁体中文键入,却发现产生乱码,字符串连接结果也无法正确辨认。Struts Framework并无中文兼容性上之问题,但是 Tomcat 4.0 在使用 JSP处理内含中文请求时,并需设定请求编码。

例如,在 Microsoft Windows 平台下,欲使 Tomcat 4.0 正确处理繁体中文,通常在 JSP 起始处加上:

<%@ page contentType="text/html;
charset=MS950" %> 
<% request.setCharacterEncoding("MS950") ; 
%>

以设定网页内容编码与请求编码为MS950编码;类似地,对于简体中文(常用编码为GB2312),以上的代码应为:

<%@ page contentType="text/html; 
charset=GB2312" %> 
<% request.setCharacterEncoding("GB2312") ;
%>

但是 Struts Framework 中实际上是由 ActionServlet 收到Web 浏览器端请求,再转交特定之 Action 类加以处理,因此直接于 JSP 中设定请求编码并无效果。

三、处理中文编码问题(以繁体中文为例)

对于处理 Struts Framework 中文编码问题有多种方式,在此我们继承 ActionServlet 类并覆盖 process 方法,于子类process 方法中设定请求编码。由此展现ActionServlet 扮演前端 Controller 之特质。

首先,点击选择 JBuilder 主菜单 File | New Classes 准备产生一新的类。并继承自org.apache.struts.action.ActionServlet并将预设的类名称由Untitled1 改为 myActionServlet。

按下 OK 按钮后即产生程序代码。点击选择 JBuilder 主菜单Wizards | Override Methods… 激活覆盖方法精灵,覆盖方法精灵会自动列出父类 ActionServlet 所有可供覆盖之方法。

我们可于 Available methods 清单方块中选取process (HttpServletRequest request, HttpServletResponse response) 方法,完成后按下 OK 按钮。此时我们可修改覆盖后 process 方法程序代码如下:

request.setCharacterEncoding ("MS950") ; 
super.process (request, response) ;

备注:此处以繁体中文为例,在中国国内一般我们用的是简体中文,因此可以将上述代码在简体中文环境下编写为:

request.setCharacterEncoding ("GB2312") ; 
super.process (request, response) ;

首行程序代码将 process 传入之参数 request 设定为 MS950编码,其余行为同父类。接下来我们将要修改 web.xml部署描述档,以指定 Servlet 之进入点,首先点击选择左上方项目窗格中的 web.xml。

此时,左下方结构窗格将出现 web.xml 内 XML 标记之树状结构。我们可以点击选择 Servlets 内的 Action 项目。

此时,便可运用右方内容窗格之图形使用者接口编辑器修改 Servlet 进入点,目前预设之进入点是 Struts Framework 的 ActionServlet。

我们可以按下 Servlet class 项目右方 [ … ] 按钮选取新的进入点替换预设之ActionServlet,也就是之我们撰写之strutsdemo.myActionServlet。倘若我们非常熟悉web.xml 结构,同样地可以直接点击选择内容窗格内的 Sources 页次,直接以文字编辑器修改<servlet-class> 标记的内容。完成后重新编译此项目并执行之。再次测试后我们将发现繁体中文已经可以正确处理。

(T117)

<<上一页 1 2 3


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Java技术新规范:提供更好的移动特性 (06-29) · 经典进阶:Jakarta Struts应用的七个经验 (06-28)
· 教您如何在Linux下配置Java开发环境详述 (06-28) · 初学者入门:Structs中基本配置入门 (06-28)
· 帮您详细解析JavaBean和EJB的区别 (06-28) · 如何将Java加密技术同Windows结合之一 (06-28)
· 初级篇:最简单的Hibernate入门简介 (06-28) · Eclipse+Tomcat+Lomboz的安装配置说明 (06-28)
· 编程技巧:在Java应用开发中如何使用线程 (06-28) · 详解怎样使用Axis开发Web Service的实例 (06-28)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 中小企业发展缓慢 电子商务存在的问题多
· 马云追加20亿投资淘宝 图谋电子商务霸主
· 国产ITIL运维先行者 四大厂商角力BI市场
· 企业信息安全解决方案 方正电子公文系统
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统