【软件开发】Spring MVC详细 介绍(一)

 二维码 18
发表时间:2022-04-04 14:01作者:燃正科技来源:燃正科技官网网址:https://www.ranzhengkj.com

Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring 框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。


Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。 **常见MVC框架比较** **运行性能上**: Jsp+servlet>struts1>spring mvc>struts2+freemarker>>struts2,ognl,值栈。 开发效率上,基本正好相反。值得强调的是,spring mvc开发效率和struts2不相上下。 Struts2的性能低的原因是因为OGNL和值栈造成的。所以,如果你的系统并发量高,可以使用freemaker进行显示,而不是采用OGNL和值栈。这样,在性能上会有相当大得提高。 **基于spring2.5的采用XML配置的spring MVC项目** 注:本项目全部基于XML配置。同时,集成了hibernate。 采用的是:spring MVC+hibernate+spring的开发架构。


1.建立web项目


2.导入jar包(spring.jar, spring-webmvc.jar, commons-logging.jar。其他jar包为hibernate相关jar包) ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190210094214228.png)


3.修改web.xml如下: ``` >dispatcherServletorg.springframework.web.servlet.DispatcherServletcontextConfigLocation/WEB-INF/hib-config.xml,/WEB-INF/web-config.xml,/WEB-INF/service-config.xml,/WEB-INF/dao-config.xml1dispatcherServlet*.do```


4.增加web-config.xml(这里包含spring mvc相关的相关配置) ``` userController```


5.在WEB-INF下增加service-config.xml(这里包含service层类的相关配置) ``` ```


6.在WEB-INF下增加hib-config.xml(这里包含spring集成hibernate相关的配置) ```   org.hibernate.dialect.MySQLDialecttrueupdatecom.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; @Entity public class User { @Id @GeneratedValue(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.springframework.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 setHibernateTemplate(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 = new 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.ModelAndView; import org.springframework.web.servlet.mvc.Controller; import com.sxt.service.UserService; public class UserController implements Controller { private UserService userService; @Override public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { System.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.运行测试: 结果:数据库中增加zhangsan的记录。页面跳转到index.jsp上,显示: > 大家好,我是梁雪!


【6年产品经理文档在线接单】功能清单,需求文档、概要设计、详细设计、系统设计、数据库设计文档【咨询客服说明需求再下单】

燃正科技版权所有

友情链接
————
河南省郑州市郑东新区
18317597359
rzkj@ranzhengkj.com
联系我们
————

Copyright ©2020-现在 郑州燃正信息科技‍有限公司 版权所有


扫码关注官方公众号
经典案例
————
在线接单
————
本站协议
————