这篇文章主要为大家展示了“如何搭建SpringMVC项目”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何搭建SpringMVC项目”这篇文章吧。
-
为什么要学习SpringMVC呢?
Spring框架号称是JavaEE应用的一站式解决方案,Spring本身有提供了一个设计优良的MVC框架,SpringMVC。由于Spring框架拥有极高的市场占有率,因此越来越多的Spring框架使用者使用SpringMVC代替曾经的MVC框架的王者Struts2。当然Spring也可以无缝地整合Struts、JSF等优秀的MVC框架。
越来越多的企业开始选择则SpringMVC+Mybatis来构建系统架构,而在电商热门的今天,SpringMVC+Mybatis已经成为电商项目架构的最佳搭配。
什么是MVC思想?MVC的优势又是什么?MVC,它不是Java语言所特有的设计思想,也并不是Web应用所特有的思想,而是所有面向对象程序设计语言都应该遵守的一种规范。MVC的优势在于:
-
他将一个应用分文三个层次(M,V,C这里就不多概述),这三个部分协同工作,把应用程序代码的耦合度降到了最低,这就提高了程序的可扩展性和可维护性。
-
多个视图可以对应一个模型,这样就减少了代码的重复性,以及代码的维护量。
-
因为将模型数据和显示层分离开来,所以模型数据可以应用于任何显示技术,包括jsp页面、velocity模板或者直接产生Excel文档。
-
MVC更有利于工程化管理地软件,不同的层各司其职,有利于通过工程化和工具化的方法来管理程序代码。
SpringMVC又具有哪些优势呢?
-
SpringMVC灵活性高、非侵入性以及可配置性。
-
SpringMVC提供了一个前端控制器DispatcherServlet,开发人员不用额外开发控制器对象。
-
SpringMVC分工明确,包括控制器、验证器、命令对象、模型对象、处理程序映射试图解析器等,每个功能的实现都由一个专门的对象来负责完成。
-
SpringMVC可以自动绑定用户输入,并正确的转换数据类型。(例如可将字符串解析为模型的int或者float类型的属性)。
-
SpringMVC使用了一个名称/值的Map对象实现更加灵活的模型数据传输。
-
SpringMVC内置了常见的校验器,可以校验用户输入,如果校验不通过,重定向到输入表单。输入校验是可选的并且支持编程方式以及声明方式。
-
SpringMVC支持国际化,配置极其简单。
-
SpringMVC支持多种视图技术:JSP、Velocity和FreeMarker.
-
Spring提供了一个简单而又强大的JSP标签库,支持数据绑定功能,使得编写JSP页面更加容易。
话不多说,直接上代码(编写HelloWorld的步骤):
-
首先需要做的就是导入所需的jar包:Spring的所有jar包以及commons-logging.jar。
Spring下载地址:http://repo.spring.io/release/org/springframework/spring/ 。
commons-logging.jar下载地址:http:commons.apache.org 。
配置web.xml——DispatcherServlet前端控制器的配置。
<!-- 定义Spring MVC前端控制器 --> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/springmvc-config.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 让Spring MVC的前端控制器拦截所有请求 --> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
配置SpringMVC的Controller<?xml version="1.0"
encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd">
<!– 配置handle,映射hello请求 –>
<bean name="/hello" class="org.fkit.controller.HelloController"/>
<!– 处理映射器将bean的name作为url进行查找,需要在配置Handle时指定name(即url) –>
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>
<!– SimpleControllerHandlerAdapter是一个处理器适配器,所有处理器适配器都是要实现HandlerAdapter接口 –>
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>
<!– 视图解析器 –>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"/>
</beans>Controller类的实现
public class HelloController implements Controller{ private static final Log logger = LogFactory.getLog(HelloController.class); @Override public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { // TODO Auto-generated method stub logger.info("handleRequest被调用"); ModelAndView mv = new ModelAndView(); mv.addObject("message","Hello SpringMVC!"); mv.setViewName("/WEB-INF/content/welcome.jsp"); return mv; } }
View页面的实现
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>初识SpringMVC</title> </head> <body> ${requestScope.message } </body> </html>
以上是“如何搭建SpringMVC项目”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/208045.html