胖子实习(一)——SSH(spring3+Struts2+Hibernate4)简单构建框架

前言

     自己刚刚起步Java web,搭建一个简单的SSH框架,具体的IDE和tomcat,相应的包和文件如何下载安装我也不详细介绍。

主要目的:

1:让自己记住,有个念想;

2:希望能帮到其他人,节省初学者的时间;

    对于完全不太了解SSH架构的可以看这个很好博客,会教你一下基本的概念:http://blog.csdn.net/liushuijinger/article/details/40833791  

    自己搭建也看来很多这个大神的搭建博客,真的很感谢,博客地址:http://blog.csdn.net/yeohcooller/article/details/9316923

       我个人感觉不会用maven,忘里面加包是很郁闷的事情。先放上自己的包图:



            具体代码我也属于菜鸟,所以我也不误导,想具体了解的可以看上面给出的地址,是大神的博客。只弄自己错的地方并谨记:

            1.Hibernate3和Hibernate4对于SessionFactory运用是不同的,放出自己对于的Hibernate4的代码吧!

package com.shixi.ssh.daoImpl;

import org.hibernate.HibernateException;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

import com.shixi.ssh.beans.User;
import com.shixi.ssh.dao.BaseDao;

public class UserDao implements BaseDao {

  private SessionFactory sessionFactory;
  
  public SessionFactory getSessionFactory() {
    return sessionFactory;
  }

  public void setSessionFactory(SessionFactory sessionFactory) {
    this.sessionFactory = sessionFactory;
  }

  //注册用户
  @Override
  public void saveObject(Object obj) throws HibernateException {
    
     sessionFactory.openSession().save(obj);
  }

  @Override
  public void delete(User user) {
    // TODO Auto-generated method stub
 
  }

  @Override
  public String update(User user) {
    // TODO Auto-generated method stub
    sessionFactory.openSession().update(user);
    return " ";
  }

  //查询是否存在次用户名
  @Override
  public User qureyById(String username) {
    Session session=sessionFactory.openSession();
    Query query=session.createQuery("select user from User where user.username='"+username+"'");
    
    User user=(User) query.uniqueResult();
    session.close();
    if(user.equals(username)){
       return user;
    }else{
      return null;
    }
  }

  //用户登入
  @Override
  public boolean login(String username, String password) {
    // TODO Auto-generated method stub
    Session session =sessionFactory.openSession();
    String hql = "from User u where u.password = '";
    String hql2 = "and u.username = '";
    Query query=session.createQuery(hql+password+"'"+hql2+username+"'");
    User user=(User) query.uniqueResult();
    System.out.println(user);
    session.close();
    if(user!=null){
      return true;
    }else{
    return false;
    }
  }
}

2.validation验证文件的使用

        验证就是验证密码格式,邮箱格式什么的,自己在打的时候,学姐就提醒我为什么不在前台验证,过后才明白前台验证更为简单,利用jQuery Validate就可以很好的验证,当然后台也是可以的。

这是验证文件代码:


<validators>
	<!-- 添加对用户名的校验 -->
	<field name="user.username">  
        <field-validator type="requiredstring">  
            <param name="trim">true</param>  
            <message>用户名不能为空</message>  
        </field-validator>  
        <field-validator type="regex">  
            <param name="regex"><![CDATA[(\w{6,16})]]></param>  
            <message>用户名输入不合法,必须为长度在6~16中间的数字或字母</message>  
        </field-validator>  
    </field>  
      
    <!-- 添加对密码的校验 -->  
    <field name="user.password">  
        <field-validator type="requiredstring">  
            <param name="trim">true</param>  
            <message>密码不能为空</message>  
        </field-validator>  
        <field-validator type="regex">  
            <param name="regex"><![CDATA[(\w{6,16})]]></param>  
            <message>密码输入不合法,必须为长度在6~16之间的数字或者字母</message>  
        </field-validator>  
    </field>  
</validators>

  jQuery Validate的使用可以看看这个网站: 打开链接

3.对于!DOCTYPE里的.dtd地址的查找错误

先放上自己的:

图表映射

<!DOCTYPE hibernate-mapping PUBLIC 
    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
    "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
struts.xml

<!DOCTYPE struts PUBLIC 
	"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
	"http://struts.apache.org/dtds/struts-2.0.dtd">
validation

<!DOCTYPE validators PUBLIC
  		"-//Apache Struts//XWork Validator 1.0.3//EN"
  		"http://struts.apache.org/dtds/xwork-validator-1.0.3.dtd">

主要就是已解压的形式打开相应的-core-包,里面有个后缀.dtd文件,以笔记本形式打开,查找相应!DOCTYPE就能找到。如 里面的

打开后在这:


以上就是全部内容了。谢谢

   

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值