搭建SpringMVC——最小化配置

最开始接触网页的时候,是纯的html/css页面,那个时候还是用Dreamweaver来绘制页面。

随着网站开发的深入,开始学习servlet开发,记得最痛苦的就是servlet返回网页的内容是字符串拼接的html页面,整不好就无法显示....

再到后来开学学习SSH,庞大的架构眼花缭乱。Struts繁杂的标签、hibernate搞不清楚的数据表,Spring不知道哪里搞错的bean。

最后随着发展,前端开始占有一席之地,nodejs风生水起,很多业务逻辑开始前置。再也看不到当初的bo、dao了,取而代之的是各种框架的mvvm,后台减轻压力只负责一些必要的逻辑。

到现在,好像web开发又发展到了一个阶段——前端由于Nodejs的作用,可以支撑一部分业务逻辑,通过转发代理,统一发往后台。后台通过url实现mvc,对性持久化、更深入的逻辑操作等等。Spring MVC在这里就起了很关键的作用....它通过Url拦截请求,自定义业务逻辑,可以返回自定义的view或者模型数据。

当然,上面的鬼扯都是片面的,不代表行业的发展,只是博主管中窥豹而已。

下面步入正题,说说Spring MVC的最小化配置,给入门的朋友引个路。

Spring MVC的最小化配置

需要的jar包

  • Spring framework spring-context
  • Spring framework spring-mvc

具体可以参考maven中的引用:

<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>4.2.4.RELEASE</version>
</dependency>
<dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.2.4.RELEASE</version>
</dependency>

  

web.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<web-app  version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"><context-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/applicationContext.xml</param-value><!-- 默认是/WEB-INF/applicationContext.xml --></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener><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-servlet.xml</param-value><!-- 默认是/WEB-INF/[servlet名字]-servlet.xml --></init-param><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

  

其中,必要的配置就是指定servlet和listener.

  • ContextLoaderListener指定了IOC容器初始化的方法
  • DispatcherServlet则定义了mvc的相关内容,并配置拦截的url,如上面所示,所有/开头的请求,都会通过SpringMVC这个servlet进行处理。

他们都需要一个xml文件,默认位置上面已经说过了。

applicationContext.xml

空的,反正咱也没用什么bean。

<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/txhttp://www.springframework.org/schema/tx/spring-tx-4.0.xsdhttp://www.springframework.org/schema/aophttp://www.springframework.org/schema/aop/spring-aop-4.0.xsdhttp://www.springframework.org/schema/contexthttp://www.springframework.org/schema/context/spring-context-4.0.xsd"></beans>

  

SpringMVC-servlet.xml

里面放一个扫描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"xmlns:mvc="http://www.springframework.org/schema/mvc"xmlns:context="http://www.springframework.org/schema/context"xmlns:aop="http://www.springframework.org/schema/aop"xmlns:tx="http://www.springframework.org/schema/tx"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.0.xsd"><!-- 设置使用注解的类所在的jar包 --><context:component-scan base-package="hello" />
</beans>

  

controller文件

package hello;import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class HelloController {@RequestMapping("/hello")public @ResponseBody String test() {return "hello, world! This com from spring!";}}

  

总结一下:

1 两个maven依赖,spring-context;spring-mvc。maven就会自动下载所有关联的jar包,包括

  • spring-webmvc
  • spring-beans
  • spring-core
  • spring-expression
  • spring-web
  • spring-context
  • spring-aop
  • aopalliance
  • commons-logging

2 一个web.xml文件,配置了listener和servlet
3 两个spring相关的文件,applicationContext.xml和servletName-servlet.xml
4 一个controller文件,配置了拦截的url处理代码

有了这些准备工作,运行后输入

http://localhost:8080/项目地址/hello

  就能得到

hello, world! This com from spring!

  这样的信息,恭喜你的SpringMVC搭起来了!

https://www.cnblogs.com/xing901022/p/5240044.html

spirng: srping mvc配置(访问路径配置)搭建SpringMVC——最小化配置相关推荐

  1. SpringBoot系列三:SpringBoot基本概念(统一父 pom 管理、SpringBoot 代码测试、启动注解分析、配置访问路径、使用内置对象、项目打包发布)...

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.了解SpringBoot的基本概念 2.具体内容 在之前所建立的 SpringBoot 项目只是根据官方文档实现的一个基础程 ...

  2. Spring boot 默认静态资源路径与手动配置访问路径的方法

    这篇文章主要介绍了Spring boot 默认静态资源路径与手动配置访问路径的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在application.propertis中配置 ##端口号 s ...

  3. Servlet3.0注解配置访问路径和urlParttern配置

    一.Servlet用注解配置访问路径 二.IDEA的tomcat相关配置 其中,第一点的配置文件,直接在IDEA的可视化操作界面修改就可以改掉配置文件中内容: 三.urlParttern配置 其中,* ...

  4. nginx多端口访问及配置访问路径

    nginx学习 1.nginx安装 2.外部访问 3.nginx配置访问路径 4.配置多端口访问 5.nginx配置 1.nginx安装 参考centOS7安装nginx及nginx配置 想安装两个n ...

  5. Git.之.最小化配置

    Git.之.最小化配置 做一个全局的用户配置,便于以后提交代码等,记录当前操作的用户. ## 添加配置 # git config [--local | --global | --system] use ...

  6. 配置访问oracle_SpringBoot中application.properties的常用配置

    上篇搭建SpringBoot项目时,提到了在application.properties中修改端口号,还有很多常用的配置 1.简单配置 #应用名称spring.application.name=app ...

  7. swagger2 配置访问路径_swagger2访问url

    swagger : http://localhost:8080/swagger/index.html springboot中的swagger:http://localhost:8080/swagger ...

  8. jan java c 生成 dll_Java配置----JDK开发环境搭建及环境变量配置

    [声明] 欢迎转载,但请保留文章原始出处→_→ [正文] 1.安装JDK开发环境 开始安装JDK: 修改安装目录如下: 确定之后,单击"下一步". 注:当提示安装JRE时,可以选择 ...

  9. Java配置----JDK开发环境搭建及环境变量配置

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3 ...

最新文章

  1. 徒劳的对抗——如何做好极客的老婆(灵感来源于《你就是极客》)
  2. python简单代码加法-Python tkinter实现简单加法计算器代码实例
  3. 重要提醒--to 小爱
  4. 面试题总结15 自己构建一个哈希表
  5. 蓝桥杯java第八届第八题--包子凑数
  6. Core-3399-JD4 六核高性能AI核心板
  7. python如何提交作业_玛雅截稿作业提交python命令
  8. 【BZOJ4821】【SDOI2017】相关分析 [线段树]
  9. 微软宣布加入 OpenJDK,看网上各派的热闹
  10. 句句真研—每日长难句打卡Day7
  11. 使用Event Bus模式解耦Android App组件间通信
  12. 不懂得如何优化CNN图像分类模型?这有一份综合设计指南请供查阅
  13. Shell脚本学习-阶段二十九-运维使用的
  14. WebRTC报错:depot_tools/bootstrap_python3: um.8_bin/python3/bin/python3: 没有那个文件或目录(三)
  15. 虚拟机安装程序没有找到安装在此计算机上的硬盘驱动器,安装VMware提示无效驱动器:E:\ 解决方法...
  16. 税务信息化与计算机技术应用开发,税务信息化与计算机技术应用开发工作岗位年度个人工作总结...
  17. 学习RabbitMQ[上]
  18. 松山湖云计算机中心,【东莞唯一】中科院云计算中心被点赞,松山湖又又又亮了!...
  19. TestCenter测试管理工具问题详解(6)
  20. 网络驱动之net_device结构体

热门文章

  1. 【linux】循序渐进学运维-基础篇-磁盘阵列
  2. 各种复印机进入维修模式的方式
  3. 数据挖掘中的12种距离度量原理及实现代码
  4. FPGA:基础入门按键控制LED灯
  5. 对象可以创建数组吗_“跟相亲对象这样聊天可以吗?在线等挺急的!”哈哈哈哈……太逗了...
  6. rb格式转换器有哪些
  7. ​TIKTOK的MCN机构入驻教程
  8. 690. 员工的重要性
  9. STM32F4之MPU6050陀螺仪
  10. 零基础学习韩语的五大学习方式助你…