初识struts2和hibernate在MyEclipse下整合
来源:互联网 发布:rds mysql 慢 编辑:程序博客网 时间:2024/06/08 06:31
在MyEclipse下插件方便很多,所以转战MyEclipse。
整合struts2和hibernate,例子是一个简单的登陆的功能,数据库是MySql。
先是配Struts2环境
struts.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><constant name="struts.enable.DynamicMethodInvocation" value="false" /><constant name="struts.devMode" value="true" /><package name="default" extends="struts-default"><default-action-ref name="index" /><global-results><result name="error">error.jsp</result></global-results><global-exception-mappings><exception-mapping exception="java.lang.Exception"result="error" /></global-exception-mappings><action name="loginn" class="com.test.action.LoginAction"><result name="success">/success.jsp</result><result name="input">/index.jsp</result><result name="error">/index.jsp</result></action></package></struts>
LoginAction.java
package com.test.action;import java.util.List;import com.opensymphony.xwork2.ActionSupport;import com.test.dao.UserDaoImpl;import com.test.model.User;public class LoginAction extends ActionSupport {private User user = new User();public User getUser() {return user;}public void setUser(User user) {this.user = user;}public void validate() {if (user.getUsername().equals("")) {this.addActionError("用户名不能为空");}if (user.getPassword().equals("")) {this.addActionError("密码不能为空");}}public String execute() {System.out.println(user.getUsername() + "," + user.getPassword());String t = "admin";if (user.getUsername().equals(t)&&user.getPassword().equals(t)) {return SUCCESS;}this.addActionError("用户名密码错误!");return ERROR;}}
struts2框架正常。。
再加Hibernate。
User.hbm.xml
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="com.test.model"><class name="User" table="test_hibernate_user"><id name="id" type="integer"><generator class="identity" /></id><property name="username" type="string" /><property name="password" type="string" /></class></hibernate-mapping>
UserDaoImpl.java
package com.test.dao;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import com.test.model.HibernateSessionFactory;import com.test.model.User;public class UserDaoImpl implements UserDao {public boolean login(User user) {try {System.out.println("1111");Session session = HibernateSessionFactory.getSession();Query q = session.createQuery("from User as a where a.username=? and a.password=?");q.setString(0, user.getUsername());q.setString(1, user.getPassword());List list = q.list();System.out.println("list " + list);if (list.size() != 0) {return true;}} catch (Exception e) {e.printStackTrace();} finally {HibernateSessionFactory.closeSession();}return false;}public static void main(String[] args) {User u = new User("admin", "admin");new UserDaoImpl().login(u);}}
LoginAction.java改为:
public String execute() {System.out.println(user.getUsername() + "," + user.getPassword());// String t = "admin";boolean b = new UserDaoImpl().login(user);System.out.println(b);if (b) {return SUCCESS;}this.addActionError("用户名密码错误!");return ERROR;}
照理来说没啥问题。
但是,登陆的时候,只能输出上面的打印信息,也没有报错,不知道怎么回事,返回也异常。
System.out.println("1111");Session session = HibernateSessionFactory.getSession();Query q = session.createQuery("from User as a where a.username=? and a.password=?");q.setString(0, user.getUsername());q.setString(1, user.getPassword());List list = q.list();System.out.println("list " + list);
然后用一个单纯的java程序测试了一下,结果
部分代码:
public static void main(String[] args) {User u = new User("admin", "admin");new UserDaoImpl().login(u);}
打印出了好多信息。。。。为什么之前没有打印出来,这里报错了。。。。
NoSuchMethodError: antlr.collections.AST.getLine()I
百度到了这篇http://www.cnblogs.com/songhaipeng/p/3323541.html,按照上面的方法,删除antlr2.7.2,之后运行正常。
再来测试web,一切正常。。。。。。
无语了。。
为什么异常信息有些没有在服务器打印出来。。。。。
总的来说,还是有收获的,有点曲折。。。
0 0
- 初识struts2和hibernate在MyEclipse下整合
- 在myeclipse下整合spring和hibernate
- MyEclipse下struts2、spring、hibernate整合
- MyEclipse下struts2、spring、hibernate整合
- MyEclipse下struts2、spring、hibernate整合
- MyEclipse下struts2、spring、hibernate整合
- 在myeclipse下整合spring和hibernate(转载)
- Struts2和Hibernate整合
- struts2和hibernate整合
- struts2和hibernate整合
- 在MyEclipse环境下 struts 2、spring、hibernate的整合
- Struts2-Spring和Hibernate整合
- Struts2和Hibernate的整合
- SSH在MyEclipse 8.5下整合详细步骤 (Struts2.1+Spring3.0+Hibernate3.3)
- Struts 2+Spring 3+Hibernate 3.3 在MyEclipse 10环境下的整合配置
- Struts 2+Spring 3+Hibernate 4 在MyEclipse 2014环境下的整合配置
- SSH框架整合(Spring整合Struts2,和Spring整合Hibernate)
- 在maven环境下 基于Struts2 spring hibernate用户登录及查询整合案例
- C++STL 常用 函数 用法
- 计算机中的数学
- Next Permutation
- servlet/filter/listener/interceptor区别与联系
- Libgdx TexturePacker大图分割为小图
- 初识struts2和hibernate在MyEclipse下整合
- MySQL监控工具之orzdba
- 详解System.Data 命名空间
- 基于Mysql Connector(C++)的数据库连接池的实现
- nginx的4个学习资料
- Android静态传参数(五)
- C# FTP操作类
- percona之pt-table-checksum介绍
- 逃出你的肖申克(一):为什么一定要亲身经历了之后才能明白?笔记