1、eclipse+maven创建动态web项目
解决报错
选择自己版本的JDK
创建完成
2、maven导入包 maven的好处在于pom.xml文件导包非常方便
导入所需要的包
快捷搜素导包方式:左键项目→maven→and dependency
3、创建config配置文件
1)applicationContext.xml
2)springmvc.xml
3)db.properties 数据库配置文件 这里我用的是MySQL,写配置的时候一定要注意后面不要有空格!!!
4、创建MVC层(controller、dao、entity....)依次写逻辑代码
5、MVC常用注解
@Controller 用在controller层
@RequestMapping("/xxx") 处理请求@Service("xxxService") 用在Service层
@Repository("xxxDao")用在dao层
@Resource(name = "xxxDao")
private IxxxDao xxxDao; service层引入Dao@Autowired
private SessionFactory sessionFactory; dao层引入DB,这里用的是SessionFactory模式配置文件一定要做映射
<!-- 引用工具类的映射 -->
<bean class="com.yjxc.util.SpringContextUtil" /> 新建工具类也需要做映射扫描
<property name="packagesToScan" value="com.yjxc.entity"></property> 这里扫描实体类,这里直接取代了
<property name="mappingResources"> <list> <value>com/yjxc/entity/User.hbm.xml</value>改用实体类注解,实体类需要要到的注解
@Entity
@Table(name = "user") 对应数据库表明@Column(name = "username") 数据库表中对应的字段,MySQL一定要区分大小写!!!
6、hibernate的HQL对应的是实体类的属性,与mybatis的SQL是不用的。
String hql = " from User u where u.username='" + code + "'and u.password='" + pwd + "'";
List<User> list = sessionFactory.getCurrentSession().createQuery(hql).list();这里用的是sessionFactory工厂模式,而不是传统的getsession()
7.测试登录
html+js+ajax+servlet
servlet得到后台结果,判断,用response对象的getWriter()方法返回给前台(ajax)再做判断
ajax为异步请求
登录的逻辑判断写在ajax回调函数中
success : function(resp) { //resp 后台传过来的值
if (resp == null) { alert("账号或密码有误!"); return; } else { window.location.href = "main.html?round=" + Math.random(); } }