博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java框架-Spring MVC理解001
阅读量:4635 次
发布时间:2019-06-09

本文共 3211 字,大约阅读时间需要 10 分钟。

Spring MVC理解

最近在读一本《看透springMVC》的书,从了解到了一些更加精细系统的知识,边读变分享吧。

1.servlet--Spring MVC的本质

2.Spring MVC其实是一个工具,具体的理解可以分为两步:第一步,了解这个工具是怎么创建出来的;第二步,了解这个工具是怎么用的。

3.前期使用准备:环境的搭建

  ①创建WEB项目,导入jar包,Maven项目简单的加入springMVC和servlet的依赖就可以了.

//Maven项目加入依赖
javax.servlet
javax.servlet-api
3.1.0
provided
org.springframework
spring-webmvc
4.1.5.RELEASE

 

 

  不是Maven项目需要导入的jar包:

  ②springMVC的简单配置

  配置一个Spring MVC只需要三步:①在web.xml中配置Servlet;②创建Spring MVC的xml配置文件;③创建Controller和view。下面分别介绍。

 在web.xml中配置Servlet:

Name
org.springframework.web.servlet.DispatcherServlet
1
Name
/
index
这里配置了一个叫Name的Servlet,自动启动,然后mapping到所有的请求。 所配置的Servlet是DispatcherServlet类型,它就是Spring MVC的入口,Spring MVC的本质就是一个Servlet。 在配置DispatcherServlet的时候可以设置contextConfigLocation参数来指定Spring MVC配置文件的位置, 如果不指定就默认使用WEB-INF/[ServletName]-servlet.xml文件,这里使用了默认值,也就是WEB-INF/Name-servlet.xml文件。

创建Spring MVC的xml配置文件

首先在WEB-INF目录下新建let’sGo-servlet.xml文件,然后使用Spring MVC最简单的配置方式来进行配置。

//引入约束

<mvc:annotation-driven/>是Spring MVC提供的一键式的配置方法,配置此标签后Spring MVC会帮我们自动做一些注册组件之类的事情。这种配置方法非常简单,<mvc:-annotation-driven/>背后的原理会在后面详细解释。另外还配置了context:component-scan标签来扫描通过注释配置的类,如果使用了Spring可以通过context:include-filter子标签来设置只扫描@Controller就可以了,别的交给Spring容器去管理,不过这里只配置了Spring MVC,所以就全部放到Spring MVC里了。只扫描@Controller的配置如下:

 创建Controller和view

到现在Spring MVC的环境就已经搭建完成了。下面写个Controller和View,这样就可以运行了。
首先在com.excelib.controller包下建一个类——GoController。

package com.excelib.controller;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;@Controllerpublic class GoController {private final Log logger = LogFactory.getLog(GoController.class);//处理HEAD类型的”/”请求@RequestMapping(value={"/"},method= {RequestMethod.HEAD})public String head() {    return "go.jsp";}//处理GET类型的"/index"和”/”请求@RequestMapping(value={"/index","/"},method= {RequestMethod.GET})public String index(Model model) throws Exception {   logger.info("======processed by index=======");   //返回msg参数   model.addAttribute("msg", "Go Go Go!");   return "go.jsp";  }}

这里单独写了处理HEAD请求的方法,此方法可以用来检测服务器的状态,因为它不返回body所以比GET请求更节省网络资源。而单独写一个处理方法而不跟GET请求使用同一个方法,然后返回没有Body的Response是因为GET请求的处理过程可能会处理一些别的内容,如初始化一些首页需要显示的内容,还可能会连接数据库,而这些都比较浪费资源,并且对于HEAD请求来说也是不需要的,所以最好单独写一个方法。

如果没有配置ViewResolver,Spring MVC将默认使用org.springframework.web.servlet.view.InternalResourceViewResolver作为ViewResolver,而且prefix和suffix都为空。所以go.jsp返回值对应的就是根目录下的go.jsp文件。我们就把它建出来。

<%@ page contentType="text/html;charset=UTF-8" language="java" %> let'sGo${msg}

好了,现在编译后部署到Tomcat就可以运行了,运行ing.....

转载于:https://www.cnblogs.com/yulibo/p/8996196.html

你可能感兴趣的文章
installshield 注册dll
查看>>
Sublime Text 3 及Package Control 安装(附上一个3103可用的Key)
查看>>
LTE QCI分类 QoS
查看>>
Get MAC address using POSIX APIs
查看>>
bzoj2120
查看>>
基于uFUN开发板的心率计(一)DMA方式获取传感器数据
查看>>
【dp】船
查看>>
oracle, group by, having, where
查看>>
⑥python模块初识、pyc和PyCodeObject
查看>>
object-c中管理文件和目录:NSFileManager使用方法
查看>>
Kibana:分析及可视化日志文件
查看>>
nodejs pm2使用
查看>>
cocos2d-x 3.10 PageView BUG
查看>>
装饰器的基本使用:用户登录
查看>>
CSS选择器总结
查看>>
mysql中sql语句
查看>>
head/tail实现
查看>>
sql语句的各种模糊查询语句
查看>>
vlc 学习网
查看>>
Python20-Day05
查看>>