《spring MVC 知识点解析.docx》由会员分享,可在线阅读,更多相关《spring MVC 知识点解析.docx(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Spring MVC 背景介绍Spring 框架提供了构建 Web应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。常
2、见MVC框架比较运行性能上:Jsp+servletstruts1spring mvcstruts2+freemarkerstruts2,ognl,值栈。开发效率上,基本正好相反。值得强调的是,spring mvc开发效率和struts2不相上下。Struts2的性能低的原因是因为OGNL和值栈造成的。所以,如果你的系统并发量高,可以使用freemaker进行显示,而不是采用OGNL和值栈。这样,在性能上会有相当大得提高。基于spring2.5的采用XML配置的spring MVC项目注:本项目全部基于XML配置。同时,集成了hibernate。采用的是:spring MVC+hibernate
3、+spring的开发架构。 1. 建立web项目2. 导入jar包(spring.jar, spring-webmvc.jar, commons-logging.jar。其他jar包为hibernate相关jar包)3. 修改web.xml如下:web-app version=2.5 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= dispatcherServlet org.springframework.web.servlet.DispatcherServlet contextConf
4、igLocation /WEB-INF/hib-config.xml,/WEB-INF/web-config.xml,/WEB-INF/service-config.xml,/WEB-INF/dao-config.xml 1 dispatcherServlet *.do 4. 增加web-config.xml(这里包含spring mvc相关的相关配置) !- userController 5. 在WEB-INF下增加service-config.xml(这里包含service层类的相关配置)6. 在WEB-INF下增加hib-config.xml(这里包含spring集成hibernate相
5、关的配置) org.hibernate.dialect.MySQLDialect true update com.sxt.po 7. 在WEB-INF下增加dao-config.xml(这里包含dao层类的相关配置) 8. 建立相关类和包结构,如下图所示:9. 各类代码如下: package com.sxt.po;import javax.persistence.Entity;import javax.persistence.GeneratedValue;import javax.persistence.GenerationType;import javax.persistence.Id;En
6、titypublic class User IdGeneratedValue(strategy=GenerationType.AUTO)private int id;private String uname;public int getId() return id;public void setId(int id) this.id = id;public String getUname() return uname;public void setUname(String uname) this.uname = uname;package com.sxt.dao;import org.sprin
7、gframework.orm.hibernate3.HibernateTemplate;import com.sxt.po.User;public class UserDao private HibernateTemplate hibernateTemplate;public void add(User u)System.out.println(UserDao.add();hibernateTemplate.save(u);public HibernateTemplate getHibernateTemplate() return hibernateTemplate;public void s
8、etHibernateTemplate(HibernateTemplate hibernateTemplate) this.hibernateTemplate = hibernateTemplate;package com.sxt.service;import com.sxt.dao.UserDao;import com.sxt.po.User;public class UserService private UserDao userDao;public void add(String uname)System.out.println(UserService.add();User u = ne
9、w User();u.setUname(uname);userDao.add(u);public UserDao getUserDao() return userDao;public void setUserDao(UserDao userDao) this.userDao = userDao;package com.sxt.action;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet
10、.ModelAndView;import org.springframework.web.servlet.mvc.Controller;import com.sxt.service.UserService;public class UserController implements Controller private UserService userService;Overridepublic ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse resp) throws Exception System.
11、out.println(HelloController.handleRequest();req.setAttribute(a, aaaa);userService.add(req.getParameter(uname); return new ModelAndView(index);public UserService getUserService() return userService;public void setUserService(UserService userService) this.userService = userService;10. 运行测试:http:/locah
12、ost:8080/springmvc01/user.do?uname=zhangsan。结果:数据库中增加zhangsan的记录。页面跳转到index.jsp上,显示:基于spring2.5注解实现的spring MVC项目我们采用sprng MVC开发项目时,通常都会采用注解的方式,这样可以大大提高我们的开发效率。实现零配置。下面我们从零开始重新做一个spring MVC的配置。这个项目完全采用注解的方式开发。同时,我们以后的spring MVC项目也都会采用注解的方式。1. 建立web项目2. 导入jar包(spring.jar, spring-webmvc.jar, commons-lo
13、gging.jar。其他jar包为hibernate相关jar包)3. 修改web.xml,文件内容如下:web-app version=2.5 xmlns= xmlns:xsi=http:/www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= springmvc org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/hib-config.xml,/WEB-INF/springmvc-servlet.xml 1 springmvc *.do 4. springmvc-servlet.xml配置内容如下: 5. hib-config.xml(配置了spring集成hibernate) org.hibernate.dialect.MySQLDialect true update com.sxt.po aop:pointcut expression=execution(public * com.sxt.service.impl.*.*(.) id=businessS