以上为项目文件

用到的jar包:http://pan.baidu.com/s/1kT1Rsqj

1、

model-User

2、

beans.xml-去哪些包中找annotation;查找相应的实体类

jdbc.properties

log4j.properties

3、

dao-IUserDao;UserDao(加一个@Repository("UserDao"))

model-Pager;UserException;SystemContext(存放分页请求参数)

4、

service-IUserService;UserService(加一个@Service("userService"))

5、

user-servlet.xml

web.xml

6、

web-SystemContextFilter;UserController

细节

@Entity  标注该类为实体类

@Entity
@Table(name="t_user")
public class User {
private int id;
private String username;
private String password;
private String email;
private String nickname; @GeneratedValue
@Id
public int getId() {
return id;
}

第二讲

构建list页面

@Resource和@Service区别

当你需要定义某个类为一个bean,则在这个类的类名前一行使用@Service("XXX"),就相当于讲这个类定义为一个bean,bean名称为XXX;
当需要在某个类中定义一个属性,并且该属性是一个已存在的bean,要为该属性赋值或注入时在该属性上一行使用@Resource(name="xxx"),相当于为该属性注入一个名称为xxx的bean。

分页

导入pager.jar

new webcontent-inc-pager.jsp

WEB-INF-jsp-user-list.jsp

<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>用户列表</title>
</head>
<body>
<table width="700" align="center" border="1">
<tr>
<td>用户标识</td><td>用户名</td><td>用户昵称</td><td>用户密码</td><td>用户邮箱</td><td>操作</td>
</tr>
<c:if test="${pagers.total lt 0 }">
<tr>
<td colspan="6">还没有数据</td>
</tr>
</c:if>
<c:if test="${pagers.total gt 0 }">
<c:forEach items="${pagers.datas}" var="u">
<tr>
<td>${u.id}</td><td>${u.username}</td><td>${u.nickname}</td><td>${u.password}</td><td>${u.email}</td><td><a href="">update</a><a href="">delete</a></td>
</tr>
</c:forEach>
<tr>
<td colspan="6">
<jsp:include page="/inc/pager.jsp">
<jsp:param value="users" name="url"/>
<jsp:param value="${pagers.total }" name="items" />
</jsp:include>
</td>
</tr>
</c:if>
</table>
</body>
</html>

sitemesh

导入sitemesh-2.4.jar

加入过滤器

<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

decorators.xml

<?xml version="1.0" encoding="UTF-8"?>

<decorators defaultdir="/WEB-INF/decorators">
<!-- Any urls that are excluded will never be decorated by Sitemesh -->
<excludes>
<pattern>/exclude.jsp</pattern>
<pattern>/exclude/*</pattern>
</excludes> <decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator> </decorators>

在WEB-INF下新建decorators文件夹,里新建main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><decorator:title default="欢迎使用用户管理系统"/></title>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/css/main.css"/>
<decorator:head/>
</head>
<body>
<h1><decorator:title/></h1>
<decorator:body/>
<div align="center" style="width:100%;border-top:1px solid; float:left;margin-top:10px;">
CopyRight@2012-2015<br/>
开发培训教学项目
</div>
</body>
</html>

第三讲

add.jsp 用到的技术都是之前学过的。

连接mysql6,用的connector是mysql-connector-java-5.0.5-bin.jar

show.jsp

update.jsp

delete

第四讲

login.jsp

logout.jsp

总结

springmvc 孔浩:数据存在map中

springmvc 孔浩 hibernate:数据存在数据库中。跟之前的不同之处在于分页,sitemesh。

再做一下分页和sitemesh。

springmvc 孔浩 hibernate的更多相关文章

  1. springmvc 孔浩 hibernate code

    model--User package model; import javax.persistence.Entity; import javax.persistence.GeneratedValue; ...

  2. springmvc 孔浩

    modelAttribute属性指定该form绑定的是哪个Model,当指定了对应的Model后就可以在form标签内部其 它表单标签上通过为path指定Model属性的名称来绑定Model中的数据了 ...

  3. Spring + SpringMVC + Druid + JPA(Hibernate impl) 给你一个稳妥的后端解决方案

    最近手头的工作不太繁重,自己试着倒腾了一套用开源框架组建的 JavaWeb 后端解决方案. 感觉还不错的样子,但实践和项目实战还是有很大的落差,这里只做抛砖引玉之用. 项目 git 地址:https: ...

  4. SpringMVC+spring-security+sitemesh+hibernate+freemarker整合-转

    http://www.oschina.net/code/snippet_170632_46774 代码分享 当前位置: 代码分享 » Java  » Web编程 搜 索   SpringMVC+spr ...

  5. 孔浩老师的 Struts2 教程听课笔记(思维导图)

    最近有空重头学习了一遍孔浩老师的 Struts2 教程,重新写了一份听课笔记.后面常用 form 标签.服务器端验证.异常处理因为时间问题,没有来得及整理.后续我会抽空补上.最近忙着准备笔试.面试. ...

  6. springMVC 与 struts+hibernate+spring优缺点

    springMVC: Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术.Velocity.Tiles.iText 和POI.Spring M ...

  7. springmvc+spring+jpa(hibernate)+redis+maven配置

    废话不多少 项目结构 pom.xml配置例如以下 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=& ...

  8. cms完整视频教程+源码 孔浩老师 全131讲

    话不多说,请看如下链接,  项目在此文件夹目录下:  JAVA专区>3.深入Java Web>3.1.cms项目 很多反馈说无效 本次 2016.09.12 发布最新链接 链接:https ...

  9. 简易的CRM系统案例之SpringMVC+JSP+MySQL+hibernate框架版本

    继续对上一版本进行改版,变成SpringMVC框架 简易的CRM系统案例之易的CRM系统案例之JSP+MySQL+SSH框架版本 src/spring.xml <?xml version=&qu ...

随机推荐

  1. 实现spring IOC的常见二种方法 setter注入与构造器注入

    案例: beans.xml配置 <?xml version="1.0" encoding="UTF-8"?><beansxmlns=" ...

  2. Ansible Galaxy

    命令行工具 ansible-galaxy命令与Ansible捆绑在一起,您可以使用它从Galaxy或直接从基于git的SCM安装角色. 您还可以使用它在Galaxy网站上创建新角色,删除角色或执行任务 ...

  3. Python 列表表达式 ,迭代器(2) Yield

    .yield 暂存为list def max_generator(numbers): current_max = for i in numbers: current_max = max(i, curr ...

  4. Windows下搭建appium(Android版)

    1.安装node.js 说明:安装node.js是为了可以使用它的npm,可以用npm install很方便的安装它包含的包,appium server使用node.js编写的 下载地址:https: ...

  5. Idea多个module下maven的pom.xml失效的问题

    今天在Idea中配置spring-cloud时,配置了两个module,结果其中一个module的pom.xml失效了.. 解决方法: 1.点击Idea右侧的Maven Project 2.点击&qu ...

  6. appium + python的环境配置_windows

    appium是什么? 1,appium是开源的移动端自动化测试框架: 2,appium可以测试原生的.混合的.以及移动端的web项目: 3,appium可以测试ios,android应用(当然了,还有 ...

  7. python笔记之str常用方法

    #Auther Bob#--*--conding:utf-8 --*--# s1 = 'aBcdE1d'# ============================================== ...

  8. win10下zip安装mysql5.7的一些问题

    一.MySQL下载地址: http://dev.mysql.com/downloads/mysql/ 我们下载zip版本的   二.解压zip文件   三.复制一份里面的my-default.ini为 ...

  9. JavaScript 中的 NaN 和 isNaN

    1.NaN NaN 即 Not a Number , 不是一个数字.那么 NaN 到底是什么呢? 在 JavaScript 中,整数和浮点数都统称为 Number 类型 .除此之外,Number 类型 ...

  10. ASP.NET MVC HtmlHelper 默认值

    例如: @Html.HiddenFor(m=>m.IsMating,new { Value="True"}) 注意:value属性的首字母要用大写.