Spring+Hibernate+Struts2整合之实现登录功能
前端代码:
<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整合之实现登录功能的更多相关文章
- 菜鸟级springmvc+spring+mybatis整合开发用户登录功能(上)
由于本人愚钝,整合ssm框架真是费劲了全身的力气,所以打算写下这篇文章,一来是对整个过程进行一个回顾,二来是方便有像我一样的笨鸟看过这篇文章后对其有所帮助,如果本文中有不对的地方,也请大神们指教. 一 ...
- spring+hibernate+Struts2 整合(全注解及注意事项)
最近帮同学做毕设,一个物流管理系统,一个点餐系统,用注解开发起来还是很快的,就是刚开始搭环境费了点事,今天把物流管理系统的一部分跟环境都贴出来,有什么不足的,请大神不吝赐教. 1.结构如下 2.jar ...
- 菜鸟级springmvc+spring+mybatis整合开发用户登录功能(下)
昨天介绍了mybatis与spring的整合,今天我们完成剩下的springmvc的整合工作. 要整合springmvc首先得在web.xml中配置springmvc的前端控制器DispatcherS ...
- Spring与Struts2整合VS Spring与Spring MVC整合
Spring与Struts2整合,struts.xml在src目录下 1.在web.xml配置监听器 web.xml <!-- 配置Spring的用于初始化ApplicationContext的 ...
- spring与struts2整合出现错误HTTP Status 500 - Unable to instantiate Action
在进行spring和struts2整合的时候因为大意遇到了一个问题,费了半天神终于找到了问题所在,故分享出来望广大博友引以为戒!! 我们都知道在spring和struts2整合时,spring接管了a ...
- Struts2+Spring+Hibernate框架整合总结详细教程
一.SSH三大框架知识总结 Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架.其全新的Struts 2的体系结构与S ...
- Spring+Hibernate+struts2+JPA 注解+跨域//完成手机端点击加载更多 下拉加载更多
一.使用IDEA新建一个maven项目(student) 1.1.0编写pom文件,添加项目所需要的包 <?xml version="1.0" encoding=" ...
- Struts2 整合jQuery实现Ajax功能(1)
技术领域非常多东西流行,自然有流行的道理.这几天用了jQuery,深感有些人真是聪明绝顶,能将那么多技术融合的如此完美. 首先明白个概念: jQuery是什么:是使用javascript语言开发的,用 ...
- Spring与Struts2整合时action自动注入的问题
当Struts和Spring框架进行整合时,原本由action实例化对象的过程移交给spring来做(这个过程依赖一个叫struts2-spring-plugin的jar包,这个包主要的功能就是实现刚 ...
随机推荐
- k8s滚动更新(六)
实践 滚动更新是一次只更新一小部分副本,成功后,再更新更多的副本,最终完成所有副本的更新.滚动更新的最大的好处是零停机,整个更新过程始终有副本在运行,从而保证了业务的连续性. 下面我们部署三副本应用, ...
- Vue iview可收缩多级菜单的实现
递归组件实战 views/layout.vue <template> <div class="layout-wrapper"> <Layout cla ...
- RXJAVA源码之多线程
在不指定线程的情况下, RxJava 遵循的是线程不变的原则,即:在哪个线程调用 subscribe(),就在哪个线程生产事件:在哪个线程生产事件,就在哪个线程消费事件.如果需要切换线程,就需要用到 ...
- 趣图:这是拿offer极高的面试经验
扩展阅读 趣图:面试谈薪资就要这种底气 趣图:IT培训出来找工作 趣图:这是招聘超神级别的程序员?
- MySQL中concat()、concat_ws()、group_concat()函数的使用技巧与心得总结
Author:极客小俊 一个专注于web技术的80后 我不用拼过聪明人,我只需要拼过那些懒人 我就一定会超越大部分人! CSDN@极客小俊,原创文章, B站技术分享 B站视频 : Bilibili.c ...
- 如何使用 Python 進行字串格式化
前言: Python有几种方法可以显示程序的输出:数据可以以人类可读的形式打印出来,或者写入文件以供将来使用. 在开发应用程式时我们往往会需要把变数进行字串格式化,也就是说把字串中的变数替换成变量值. ...
- 剑指offer-递归和循环
1. 斐波那契数列 解: 没啥好说的了,直接上高效的滚动迭代解法.矩阵解法和特征根解法这里不讨论了. class Solution: def Fibonacci(self, n): # write c ...
- 「ExLucas」学习笔记
「ExLucas」学习笔记 前置芝士 中国剩余定理 \(CRT\) \(Lucas\) 定理 \(ExGCD\) 亿点点数学知识 给龙蝶打波广告 Lucas 定理 \(C^m_n = C^{m\% m ...
- MySql查询语句中的变量使用
前言 今日在LeetCode刷MySql的题,遇到一题,题目到没什么,解答完了之后习惯去看此题的题解,有位大佬的思路让博主感觉很惊艳,至此,特地记录学习一下. 题目 解答 乍一看题目也没啥,分数排名, ...
- Linux就该这么学28期——Day02 2.1-2.3
本文记录必须掌握的Linux命令,部分内容引用自https://www.linuxprobe.com/basic-learning-02.html 工作中可使用https://www.linuxcoo ...