ActionServlet根据用户请求 找到控制器 也就是Action 同时ActionForm 负责数据收集和数据验证
然后在Action中调用业务逻辑层的相应处理方法 业务逻辑层调用DAO层 查询数据库 判断用户登录是否成功 再相应返回结果 到Action后 Action根据不同的返回结果 返回到不同的视图页面
----------------------------------------------------------------------
首先加载web.xml文件,(ActionServlet的装载)
struts-config.xml描述的Action
ActionForm的reset()方法
提交
ActionServlet-----*.do
Action的分配
ActionForm的装载
setXXX()方法的调用
validate()方法的调用
Action ActionForword execute(....)方法的调用
forword转向
空指针异常,首先你先看看是不是只声明了一个引用,而非创建了一个实例化对象。
或者你可以采用调试的状态查看到底问题出在详细的那一步。这样就能更好的判断问题出现的地方。
还有就是:
37行:public object login(string username, string userpass) {
// todo 判断是否为合法用户返回true or false
return user.login("from tbuserinfo where loginname='"+username+"' and password='"+userpass+"'");
}
这里不建议用字符串拼接的方式来访问,这样的话会带来安全隐患。
你可以在dao层面采用单独传入一个username,然后到数据库查询,返回一个user对象,然后你再用user.getpassword().equals("password");进行判断,如果密码和数据库查出来的密码先判断,就说明确实先匹配,再让他登入成功,在把用户对象存入session中。然后到页面再把用户对象取出来即可。
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....