重新开始写博客

    好久没写博客,搞得连以前用谷歌邮箱注册的博客园帐号密码给忘,只好用国内邮箱再注册,重新开通博客。想博客域名就想了一会,后来就用自己爱玩的Kindred作名字。   

    以前我是写iOS开发内容,现在改学JavaWeb网站后台开发。话说最近有真得是很忙,连英雄联盟都没时间玩。我在学习一个用Strust和Hibernate框架写的医药管理系统。先说点题外话,感觉学习编程多少还是要有点兴趣,否则就味如嚼蜡。外国有部小说《Alice's Adventures in Wonderland》,挺适合程序员去看的,里面有很多善于逻辑思维方面的东西。

   医药管理系统,开始进入index.jsp,forward转入login.jsp,不管你直接进行哪个页面,只要没有登陆信息,统一都要重新登录一遍。login.jsp页面用的Action的是struts.action包下面的loginAction。

package com.lyq.struts.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import com.lyq.dao.UserDao;
import com.lyq.persistence.User;
import com.lyq.struts.form.UserForm;

/**
 * 用户登录Action类
 * 
 * @author Li Yong Qiang
 */
public class LoginAction extends Action {
    // 处理用户登录请求
    public ActionForward execute(ActionMapping mapping, ActionForm form,
            HttpServletRequest request, HttpServletResponse response)
            throws Exception {
        UserForm uf = (UserForm) form;        // 获取ActionForm
        String userName = uf.getUsername();    // 用户名
        String password = uf.getPassword();    // 密码
        User user = null;
        // 查询用户
        if (userName != null && password != null) {
            UserDao userDao = new UserDao();
            user = userDao.login(userName, password);
        }
        // 查询到用户则登录成功,否则登录失败返回到登录页面
        if (user != null) {
            request.getSession().setAttribute("user", user);
            return mapping.findForward("manage");
        } else {
            request.setAttribute("error", "error");
            return mapping.findForward("loginFail");
        }
    }
}

    UserForm对象为用户ActionForm对象,Struts自动将JSP页面表单信息封装在此对象之中,所以可以直接获取ActionForm对象中的属性信息。LoginaAction类通过UserForm中的用户名及密码属性,调用UserForm对象中的login()方法对用户信息进行查询,当数据库中存在与之匹配的数据时,则登陆成功,否则登录失败。

 

posted @ 2017-04-12 16:13  棠棣之华  阅读(158)  评论(0)    收藏  举报