大学酒店管理系统学士论文资料 下载本文

5.4.9 中文乱码处理

在程序中经常会遇到中文乱码的情况,如果手动的在servlet和JSP页面进行设置,相当麻烦。因此,在程序的开始就写了一个过滤器。SetCharacterEncodingFilter。在web.xml中配置。

SetCharacterEncodingFilter

myweb.util.filter.SetCharacterEncodingFilter

encoding gb2312

SetCharacterEncodingFilter

/*//*表示工程下所有的页面都会有此过滤器的处理

对应的SetCharacterEncodingFilter.java文件中的重要代码,在初始化init( )方法中定义:

public void init(FilterConfig filterConfig) throws ServletException { this.filterConfig = filterConfig;

this.encoding = filterConfig.getInitParameter(\ String value = filterConfig.getInitParameter(\

//在工具包util包中同样定义了DataFormate类来处理字符转换: public static String toUni(String gbStr){

String uniStr = \把字符串转换成uincode编码*/ if(gbStr == null){ gbStr = \ try{

byte[] tempByte = gbStr.getBytes(\ uniStr = new String(tempByte,\ }catch(Exception ex){} return uniStr;}

public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer( ); for (int i = 0; i < s.length( ); i++) { char c = s.charAt(i);

if (c >= 0 && c <= 255) { sb.append(c);} else { byte[] b;

- 46 -

try {

b = Character.toString(c).getBytes(\ }catch (Exception ex) { System.out.println(ex); b = new byte[0];}

for (int j = 0; j < b.length; j++) {

int k = b[j]; if (k < 0) { k += 256;}

sb.append(\ toUpperCase( )); } } return sb.toString( ); }

5.5 测试过程

在测试之初,由于将数据库中的数据是随便输入,没有实用性,为了

使系统更加完善,在系统测试的过程中,本系统将一开始编程随便输入的数据全部清理后,输入了一些有效的测试数据,这样可以更真实的反映系统的功能实现情况。

这样不断发现问题,经过反复的测试、调试,把问题一个个的解决,最终系统可以正常运行。

5.5.1 主页面的登录模块测试

测试流程详见表5-1所示。

模块名称 登录模块 测试用例 用户名:null 密码:null 登录模块 用户名:m1 密码:null 表5-1 测试流程 预期结果 弹出错误提示,请输入用户名 弹出错误提示,请输入密码 实际结果 登陆失败,提示请输入用户名 失败,提示输入密码 是否通过 通过 通过 5.5.2 其他错误

1.在程序设计实现的过程中不可避免的会产生各种难以预料的错误,如书写错误、传值类型不一致、参数传递问题等等。这些都需要通过细心的检测与不断的调试才能够排除。比如在servlet路径配置时因粗心错误导致运行导致所报错误,如图5-25所示。

- 47 -