在做一个基于MVC的毕业设计,数据库用的是DAO模式,没有用框架,学得很不咋地, 验证数据的有效性该放在前台还是后台,我本来是放在一个 vo里面,也不知道这样做对不对,里面那返回的验证是否为空,和长度的字符串我不知道要怎么传递给客户端,验证数据库也出了点问题,输入正确的用户名密码也不给我输出正确的提示,也不知道是不是数据库语句出错了!
代码估计有点烂,帮我看看吧,谢谢如果谁有ajax+mvc之类的登录程序,能发我一份看看那就太感谢了,[email protected] boolean isLogin(ManagerVo manager) {
boolean flag = false ;
PreparedStatement pstmt = null;
ResultSet rs = null;
String sql = null;
DataBaseConnection dbc = null; sql = "SELECT account,password FROM manager WHERE account=? and password=?";
try
{
dbc = new DataBaseConnection();
// 实例化数据库操作对象
pstmt = dbc.getConnection().prepareStatement(sql); // 设置pstmt的内容,是按ID和密码验证
pstmt.setString(1,manager.getAccount());
pstmt.setString(2, manager.getPassword()); // 查询记录
rs = pstmt.executeQuery();
// 判断是否有记录
if(rs.next())
{
// 如果有记录,则执行此段代码
// 用户是合法的,可以登陆
flag = true ;
// manager.setAccount(rs.getString(1));
// manager.setPassword(rs.getString(2));
}
// 依次关闭
rs.close() ;
pstmt.close() ;
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
dbc.close();
}
return flag;
}

解决方案 »

  1.   

            用jquery实现ajax最简单
      

  2.   

    就验证是否为空,和字符串的长度
    js就可以了
    用js验证  很简单的 不知道怎么用的话 google一下例子
      

  3.   

    前台我会,老是非要ajax做,我也没办法!
      

  4.   

    这是一个jquery的例子。
    http://thinhunan.cnblogs.com/archive/2008/03/05/1092101.html
      

  5.   

    用ajax与不用,在程序上的主要区别:
    1:前后台的数据结构约定
       ○ 不用ajax时往往是form提交->servletClass处理->根据登录成功与否进行控制权转向或重定向到指定 页面,并通过页面内容或request绑定输出,告诉客户登录操作的结果;使用ajax时则是前台异步进行请求,将内容加在url中发送到后台,后台进行处理后转向一个专门输出信息的页面,前台ajax将在请求后得到这个页面的内容,这个内容可以是一段文本,也可以使xml或json等格式的数据,前台按此解析即可。
    2:前台展示的方式
       ○ 使用ajax时往往比常规页面少了信息反馈页面,多了表单提交方面的ajax改写,以及异步请求后如何将内容更新到当前页面
    -----------------------------
    由此可见,使用ajax与否在后台servletClass甚至dao层的差异上是很小,或是基本可以忽略的,改动大的是前台页面
    -----------------------------
    关于输入验证在前台还是在后台,大家都认可的方法是前台和后台都要进行验证,前台的验证可以明显减少输入不合法时无谓的前后台交互,后台验证是保证在前台js失效或客户端伪造页面进行提交时仍可进行输入合法性验证,双重验证基本可以完全杜绝输入内容不合法的情况。关于后台验证时如何将非法信息(比如xx字段过长,xx字段不能为空)告知前台,可将ajax异步交互的数据格式定为json或xml,而不是单纯的文本,在jsonxml中提供多个键值对,包括操作成功与否,验证信息等内容。另外问题很多的情况下,最简单的方法还是逐层解决,比如先从dao层开始解决,然后是后台数据校验,最后前台数据校验,将问题细分,逐个击破。