




已阅读5页,还剩13页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SpringMVC的搭建一直以来接触到的都是SSH的框架,形成了MVC模式,本来并没有想着去弄另一个MVC模式,但现在springMVC模式很热,所以我也学习一下,首先我声明一下,这个框架我也是在网上找了一些资料才完成的,源文件等也是利用的网上的现成的,但是有对其进行修改。下面来详细的说一说这个模式的搭建。首先在spring中是以controller来作为控制器(相当于SSH中的action),其他的和SSH框架没有区别。因为Spring是基于注解的,所以在整个的模式中都是采用注解的方式来处理,这个项目是用springMVC+hibernate一起来搭建的。这个项目的搭建我花了很久的时间,也弄了蛮久才成功,希望日后能更加完善!理解更加的深入。一:整体框架的结构图以及所需的jar包。这里spring是3.0.1,hibernate是用的3.6,数据库是用的mysql 5.6 ,前提工作是要建立好一个数据库,我这里是名为springmvc的数据库来进行操作,这里是采用的hibernate自动更新的方式,所以可以不需要建表只需要建立起数据库就好。项目框架的代码结构:二:开始搭建环境。1, 首先把上面所需的包添加进来后,我们要在/WEB-INF目录下的web.xml里面添加spring的监听器,以及相关的配置。源码如下: s3h3 contextConfigLocation classpath:applicationContext*.xml org.springframework.web.context.ContextLoaderListener spring org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/spring-servlet.xml 1 spring *.do index.html index.htm index.jsp default.html default.htm default.jsp 2, 接下来可以编写spring的配置文件,来整合hibernate,主要的配置写在一个专门存放配置文件的源码目录下config文件夹下,这里的applicationContext.xml是spring的主要配置文件,包括数据源等的配置。源码如下: org.hibernate.dialect.MySQL5InnoDBDialect update true true com.mvc.entity 3, 完成上面的工作后,我们可以来进行下面的spring-servlet.xml文件的编写了,这个文件是放在/WEB-INF目录下,应该他也可以放到config目录里,这里我就不做这一步工作了,具体的源码如下: 4, 配置文件完成后,最好进行一下测试,这样子保证环境没有出错。如果测试通过了,就可以进行下面的工作啦!三:开始编写代码。1, 首先要建立需要用到的实体,这里我是采用的一个对学生的简单增删改查的操作来进行测试案例的。项目中采用注解的方式来进行映射。实体是放在com.mvc.entity包里面,名为Student.java,源码如下:package com.mvc.entity;import java.io.Serializable;import javax.persistence.Basic;import javax.persistence.Column;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;import javax.persistence.Table;EntityTable(name=student)public class Student implements Serializableprivate static final long serialVersionUID = 1L;private Integer id;private String name;private String psw;IdBasic(optional=false)Column(name=id)GeneratedValue(strategy=GenerationType.IDENTITY)public Integer getId() return id;public void setId(Integer id) this.id = id;Column(name=name)public String getName() return name;public void setName(String name) = name;Column(name=psw)public String getPsw() return psw;public void setPsw(String psw) this.psw = psw;2、来添加控制层代码即controller层代码,这里是放在了com.mvc.controller包里,我这里建立的是StudentController.java文件,源码如下:package com.mvc.controller;import java.util.List;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import mons.logging.Log;import mons.logging.LogFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.ui.ModelMap;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestParam;import com.mvc.entity.Student;import com.mvc.service.StudentService;ControllerRequestMapping(/student.do)public class StudentControllerprotected final transient Log log = LogFactory.getLog(StudentController.class);Autowiredpublic StudentService studentService;public StudentController()RequestMappingpublic String load(ModelMap modelMap)List list = studentService.findAll();modelMap.put(list, list);return student;RequestMapping(params = method=add)public String add(HttpServletRequest request, ModelMap modelMap) throws Exceptionreturn student_add;RequestMapping(params = method=save)public String save(HttpServletRequest request, ModelMap modelMap)Student st = new Student();String name = request.getParameter(name);String psw = request.getParameter(psw);st.setName(name);st.setPsw(psw);trystudentService.save(st);modelMap.put(addstate, 添加成功);catch(Exception e)e.printStackTrace();log.error(e.getMessage();modelMap.put(addstate, 添加失败b);return student_add;RequestMapping(params = method=del)public void del(RequestParam(id) String id, HttpServletResponse response)tryStudent st = new Student();st.setId(Integer.valueOf(id);studentService.delete(st);response.getWriter().print(del:true);catch(Exception e)log.error(e.getMessage();e.printStackTrace();3. 接下来就可以来按照IDE工具里面所提示的进行业务层的编写,这里只用了两层,即dao层和service层来实现业务的控制。用dao层来操作数据库。具体的是EntityDao.java,这里的命名不太规范,最规范的命名应当为StudentDao.java,这里我就不做修改了,他的具体源码如下: package com.mvc.dao;import java.util.List;import org.hibernate.SessionFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Repository;import com.mvc.entity.Student;Repository(entityDao)public class EntityDao Autowiredprivate SessionFactory sessionFactory;public void save(Student s)sessionFactory.getCurrentSession().save(s);SuppressWarnings(unchecked)public List findAll()return sessionFactory.getCurrentSession().createQuery(from Student).list(); public void update(Student model) sessionFactory.getCurrentSession().update(model); public void delete(Student model) sessionFactory.getCurrentSession().delete(model); 4.service层来调用dao层的方法来实现业务。这里主要是放在com.mvc.service包里,建立了StudentService.java方法。具体的源码如下:package com.mvc.service;import java.util.List;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Service;import org.springframework.transaction.annotation.Transactional;import com.mvc.dao.EntityDao;import com.mvc.entity.Student;Service(studentService)Transactionalpublic class StudentService Autowired public EntityDao entityDao; public void save(Student st) entityDao.save(st); public void delete(Student obj) entityDao.delete(obj); public List findAll() return entityDao.findAll(); public void update(Student model)entityDao.update(model);四:最后我们只需要进行表现层的编写,这里页面的代码我是放在了/WEB-INF/view目录下,主要有student_add.jsp和student.jsp页面,我还没有完成编辑页面的编写,可以由大家自己去实现。student_add.jsp页面源码如下:Insert title here!- function turnback() window.location.href=/student.do; / - form method=post action=/student.do?method=save 姓名 密码 student.jsp页面的源码如下: 添加 script language=javascript src=/style/jquery-1.8.0.min.js table border-collapse:collapse; td border:1px solid #f00; !- function add() window.location.href=/student.do?method=add; function del(id) $.ajax( type : POST, url : /student.do?method=del&id= + id,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高端商务中心设施设备定期检查与维护合同
- 2025年度绿色建筑节能项目设计、施工与监理合同
- 二零二五年新材料企业股东变更与技术创新合同
- 二零二五年度联销代理服务合同范本
- 青岛北区初二数学试卷
- 二零二五年度房屋买卖合同七:房屋产权转移登记协议
- 2025版房地产融资顾问服务合同范本二
- 二零二五年度个人专利权质押贷款合同范本
- 二零二五年环保污染治理工程设计与施工合同
- 二零二五年度地下综合管廊监理居间合同
- 2024年大学试题(大学选修课)-创业:道与术笔试参考题库含答案
- 2024上海市奉贤区第八批储备人才及定向选调生招募91人高频考题难、易错点模拟试题(共500题)附带答案详解
- 电线电缆产品生产许可证实施细则样本
- 口腔颌面部外伤的处理课件
- 《现代涉外礼仪》课件
- 家庭教育学整套课件
- 社区生殖健康知识培训方案
- 耳鼻喉科患者的心理护理与干预策略
- 30道医院妇产科医生岗位高频面试问题附考察点及参考回答
- 设计单位工程质量检查报告(合格证明书)
- (完整word版)中国银行交易流水明细清单模版
评论
0/150
提交评论