您的位置:首页 > Web前端 > JavaScript

教育办公系统的环境搭建,登陆的JavaScript验证,简单验证,复杂验证

2013-08-16 14:20 232 查看
1. 搭建 SSH-1 开发环境: 
    1). 加入 struts:
        ①. 额外导入 struts-1.3.8/lib/struts-extras-1.3.8.jar
        ②. 不能直接复制 struts 例子程序中的 web.xml 文件, 那样 将导致 el 不可用.
       
    2). 加入 hibernate:
        ①. 导入 jar 包. 其中 struts 的 antlr-2.7.2.jar 版本较低, 需要删除.
        ②. 在 classpath 下加入 hibernate 的 hibernate.cfg.xml 文件.
       
    3). 加入 spring:
        ①. 导入 jar 包. 其中 struts 的 commons-logging-1.0.4.jar 版本较低, 需要删除.
        ②. 新建配置文件.
       
    4). spring 整合 struts:
   
    5). spring 整合 hibernate:
        ①. 加入 c3p0 数据源:  导入 jar 包和数据库驱动
        ②. 在 spring 中配置 hibernate 的 SessionFactory 对象(使用 hibernate.cfg.xml 配置文件)
        ③. 配置 hibernate 事务
       
    6). 进行单元测试
   
    7). 在 web.xml 文件中配置 spring 提供的字符编码过滤器    
   
2. hibernate 的 domain 映射文件注意: 
    1). 在双向 1 对 多时,     尤为注意: 在 1 的一端映射时 set 节点的 table 和 key 子节点, 它们需要和 多 的一方存在某种一致
    2). 在双向 1 对 1 映射时, one-to-one 端的  property-ref 属性.
    3). Resume 的 jobHistories 时组件集合.
   
3. 配置 hibernate 的二级缓存: 
    1). 加入 jar 包
    2).    加入配置文件
    3). 在 hibernate 中启用二级缓存
   
4.登录页面 

1)使用 js 的正则表达式进行前台验证:
要使用 struts 的 validation 框架进行服务器端验证, 所以使用继承 ValidatorForm
一个模块尽可能使用一个 FormBean, 如果使用 DispatcherAction, 无法实现对同一个 FormBean 的多样化验证,
        使用 MappingDispatcherAction 作为 Action 的父类
2)前台 js 验证
    ①: loginname 和 loginpassword 字段除去前后空格不能为空
    ②: loginname 和 loginpassword 字段除去前后空格, 不能少于 6 个字符
    ③: loginname 中不能包含特殊字符, 即以字母开头, 后边还可以包含数字和_    
    
    方案:
    ①: 需要自己编写 js 的 trim() 方法, 以去除前后空格
    ②: 需要针对    "不能包含特殊字符, 即以字母开头, 后边还可以包含数字和_" 编写一个正则表达式, 然后利用 js 进行验证.  
    
    解决:
    ①. 在 js 中定义正则表达式的基本语法:
            var reg = /pattern/[flags];
           
    ②. js 中关于正则的方法:
            rgexp.test(str): 返回一个 Boolean 值, 它指出在被查找的字符串中是否存在模式
            String 对象的 replace: 该方法可以用另一个字符串(第二个参数)来替换某个子串(第一个参数)的所有匹配
           
    ③. trim() 方法:
        //1. 定义一个前后为空格的正则表达式 :
        var reg = /^/s*|/s*$/g;
       
        //2. 定义 trim 函数, 把和定义好的正则匹配的字符替换为 ""
        function trim(str){
            var reg = /^(/s*)|(/s*)$/g;
            return str.replace(reg, "");
        }
       
       
    ④. loginname 中不能包含特殊字符, 即以字母开头, 后边还可以包含数字和_:
        //1. 定义正则表达式: 不能包含特殊字符, 即以字母开头, 后边还可以包含数字和_  
        var reg1 = /^[a-zA-Z]/w+/w$/gi;
       
        //2. 使用正则表达式的 test() 方法进行判断.
        var test1 = "1asd";
        alert(reg1.test(test1));

5.使用 struts 的 validation 框架进行服务器端简单验证: 
    1). 在 struts-config.xml 文件中声明使用 validator 插件
    2). 配置 validation.xml 文件.
    3). 利用 struts 的 validation 框架执行验证时, 若验证失败, 那么在 ActionErrors 中的 ActionMessage 对应的 key 为被验证的
               字段的字段名          
    3). 重写 Validation 框架的 FieldChecks 类的 validateMinLength 方法以去除前后空格: 主要目的是提供修改源代码的一种方法.
    4). 若验证不通过返回到 input 属性对应的页面, 此时的 loginname, loginpassword 是去掉前后空格的.
   

6.服务器端复杂验证: 用户名和密码是否匹配 
    ①: 用户名不存在,  提示信息为: "用户名不存在"
    ②: 用户名存在, 但用户名和密码不匹配, 提示信息为: "用户名和密码不匹配"
    ③: 匹配, 返回请求页面
   
    方案:
    使用 struts 的声明式异常来转发页面和显示提示信息.
   
    解决:
    由 EmployeeService 的方法抛出异常, Action 不进行处理, 而由 struts 框架根据当前的 action 节点配置来进行相应的处理:
           如果出现对应的异常, 会利用当前 excpeption 配置节点的 key 生成对应的 ActionMessage 对象, 再放入 ActionMessages 中,
          把页面派发到 input 对应的页面中,  在前台页面利用 <html:errors property="key"> 进行显示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息