前端代码:

<form id="loginForm" action="${ pageContext.request.contextPath }/user_login.action"  method="post" novalidate="novalidate">
<table>
<tbody><tr>
<th>
用户名:
</th>
<td>
<input type="text" id="username" name="username" class="text" maxlength="20" onclick="toggle('div1')";/><span><s:fielderror fieldName="username"/></span>
</td>
</tr>
<tr>
<th>
密  码:
</th>
<td>
<input type="password" id="password" name="password" class="text" maxlength="20" autocomplete="off" onclick="toggle('div1')";/><span><s:fielderror fieldName="password"/></span>
</td>
</tr>
  <tr>
<td>
<input type="submit" class="submit" value="登 录">
</td>
</tr>
</tbody></table>
</form>

  

登录的action:

//前台:登录功能
@InputConfig(resultName="loginInput")
public String login(){ User existUser = userService.login(user); if(existUser==null){ this.addActionMessage("用户名或密码错误或用户未激活!");
return "loginInput";
}else{
ServletActionContext.getRequest().getSession().setAttribute("existUser", existUser);return "loginSuccess";
}
}

登录的service:

//业务层登录方法
public User login(User user) {
// TODO Auto-generated method stub
System.out.println("用户名:"+user.getUsername()+" 密码:"+user.getPassword());
return userDAO.login(user);
}

登录的DAO:

@Override
public User login(User user) {
// TODO Auto-generated method stub
String queryString = "from User where username = ? and password = ?";
List<User> list = this.getHibernateTemplate().find(queryString,user.getUsername(),user.getPassword());
if(list.size()!=0){
return list.get(0);
}
return null;
}

配置struts.xml:

<!-- 配置用户的action -->
<action name="user_*" class="userAction" method="{1}">
<result name="loginInput">/WEB-INF/jsp/login.jsp</result>
<result name="loginSuccess type="redirectAction">index</result>
</action>

配置applicationContext.xml:

<!-- 配置action -->
<bean id="userAction" class="com.ansibee.shop.web.action.UserAction" scope="prototype">
<property name="userService" ref="userService"></property>
</bean> <!-- 配置service -->
<bean id="userService" class="com.ansibee.shop.service.UserService">
<property name="userDAO" ref="userDAOImpl"></property>
</bean> <!-- 配置Dao -->
<bean id="userDAOImpl" class="com.ansibee.shop.daoImpl.UserDAOImpl">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>

Spring+Hibernate+Struts2整合之实现登录功能的更多相关文章

  1. 菜鸟级springmvc+spring+mybatis整合开发用户登录功能(上)

    由于本人愚钝,整合ssm框架真是费劲了全身的力气,所以打算写下这篇文章,一来是对整个过程进行一个回顾,二来是方便有像我一样的笨鸟看过这篇文章后对其有所帮助,如果本文中有不对的地方,也请大神们指教. 一 ...

  2. spring+hibernate+Struts2 整合(全注解及注意事项)

    最近帮同学做毕设,一个物流管理系统,一个点餐系统,用注解开发起来还是很快的,就是刚开始搭环境费了点事,今天把物流管理系统的一部分跟环境都贴出来,有什么不足的,请大神不吝赐教. 1.结构如下 2.jar ...

  3. 菜鸟级springmvc+spring+mybatis整合开发用户登录功能(下)

    昨天介绍了mybatis与spring的整合,今天我们完成剩下的springmvc的整合工作. 要整合springmvc首先得在web.xml中配置springmvc的前端控制器DispatcherS ...

  4. Spring与Struts2整合VS Spring与Spring MVC整合

    Spring与Struts2整合,struts.xml在src目录下 1.在web.xml配置监听器 web.xml <!-- 配置Spring的用于初始化ApplicationContext的 ...

  5. spring与struts2整合出现错误HTTP Status 500 - Unable to instantiate Action

    在进行spring和struts2整合的时候因为大意遇到了一个问题,费了半天神终于找到了问题所在,故分享出来望广大博友引以为戒!! 我们都知道在spring和struts2整合时,spring接管了a ...

  6. Struts2+Spring+Hibernate框架整合总结详细教程

    一.SSH三大框架知识总结 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与S ...

  7. Spring+Hibernate+struts2+JPA 注解+跨域//完成手机端点击加载更多 下拉加载更多

    一.使用IDEA新建一个maven项目(student) 1.1.0编写pom文件,添加项目所需要的包 <?xml version="1.0" encoding=" ...

  8. Struts2 整合jQuery实现Ajax功能(1)

    技术领域非常多东西流行,自然有流行的道理.这几天用了jQuery,深感有些人真是聪明绝顶,能将那么多技术融合的如此完美. 首先明白个概念: jQuery是什么:是使用javascript语言开发的,用 ...

  9. Spring与Struts2整合时action自动注入的问题

    当Struts和Spring框架进行整合时,原本由action实例化对象的过程移交给spring来做(这个过程依赖一个叫struts2-spring-plugin的jar包,这个包主要的功能就是实现刚 ...

随机推荐

  1. git代码管理——克隆项目到本地仓库及上传本地项目到仓库

    一.克隆项目到本地仓库 1.github网站操作 1.1 登录github 首先创建一个仓库,点击“New” 1.2 输入仓库信息 1.3 创建完成后,会多出一个仓库 2.安装git客户端 2.1 安 ...

  2. hystrix源码小贴士之调用异常处理

    executeCommandAndObserve方法处理onerror异常. return execution.doOnNext(markEmits) .doOnCompleted(markOnCom ...

  3. Combine 框架,从0到1 —— 4.在 Combine 中执行异步代码

    本文首发于 Ficow Shen's Blog,原文地址: Combine 框架,从0到1 -- 4.在 Combine 中执行异步代码. 内容概览 前言 用 Future 取代回调闭包 用输出类型( ...

  4. 9.Lock-锁

  5. Git【常见知识点速查】

    文章更新时间:2020/06/17 一.基础知识点解析 Git工作流程 以上包括一些简单而常用的命令,但是先不关心这些,先来了解下面这4个专有名词. Workspace:工作区 Index / Sta ...

  6. http(Hyper Text Transfer Protocol)

    一.定义    http(Hyper Text Transfer Protocol):超文本传输协议二.作用    数据传输三.概念    HTTP消息:        1.客户端发向服务器的请求消息 ...

  7. Java8——Stream流式操作的一点小总结

    我发现,自从我学了Stream流式操作之后,工作中使用到的频率还是挺高的,因为stream配合着lambda表达式或者双冒号(::)使用真的是优雅到了极致!今天就简单分(搬)享(运)一下我对strea ...

  8. 微服务实战系列(七)-网关springcloud gateway

    1. 场景描述 springcloud刚推出的时候用的是netflix全家桶,路由用的zuul,但是据说zull1.0在大数据量访问的时候存在较大性能问题,2.0就没集成到springcloud中了, ...

  9. HAProxy安装配置

    概念 HAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案. HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要 ...

  10. C++ format 函数

    转载原文链接:https://blog.csdn.net/nowhaha/article/details/38710571 原博主很有心,文字标有颜色,奥利给!  Thanks C++ format ...