关于SpringMVC的简介

A.SpringMVC概述

  作用:

    SpringMVC框架是SpringFramWork中实现了MVC架构模式的轻量级子框架

    用于将WEB层进行职责解耦,松散的耦合可插拔组件结构,
    比其他的MVC框架有更强的扩展性和灵活性

  优点:
    简介的MVC设计
    与Spring框架的无缝集合
    灵活的URL映射
    丰富的视图(字符串,对象,转发,重定向,json,xml,图片...)支持

B.新建一个SpringMVC项目

    

HelloController.java

package com.stu.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; /**
* 文件名称: com.stu.controller.HelloController.java<br/>
* 初始作者: Administrator<br/>
* 创建日期: 2018-2-5<br/>
* 功能说明: 新建一个Controller控制器 <br/>
* =================================================<br/>
* 修改记录:<br/>
* 修改作者 日期 修改内容<br/>
* ================================================<br/>
* Copyright (c) 2010-2011 .All rights reserved.<br/>
*/
// @Controller注解:使得一个普通的POJO(Plain Old Java Object,没有实现过任何接口或继承过任何类的Java对象)类成为一个控制器。
@Controller
// @RequestMapping注解:用来指定请求的映射路径,可以加在类前面,也可以加在方法前面
// 例如在类前面加上@RequestMapping("/hello") 表示通过/hello能够访问到HelloController这个类
// 对于不同的Controller类,类前面的@RequestMapping对应的映射路径不要重复!
@RequestMapping("/hello")
public class HelloController { @RequestMapping("/demoForHello")
// 说明该方法的访问路径是/hello/demoForHello
// 即在hello注解中的demoForHello注解的方法
public String helloPage() {
//返回的为视图名,前缀+返回值+后缀名=最后 跳转/转发 路径
return "Hello";
}
}

通过浏览器地址栏访问容器地址:http://127.0.0.1:7070/SpringMVCDemo/hello/demoForHello  则会根据返回的 “Hello" 匹配相应的界面。

前缀和后缀在SpringMVC-servlet.xml中配置

    <!--
注解扫描器 ,base-package用于指定要扫描的包的路径
当前配置用来扫描com.niit.controller包及其子包下所有的类,所有含@Controller注解的类就会成为一个控制器类(就有了处理请求和返回响应的能力)
另外被@Controller注解标记的类也会成为Spring IOC 容器中被管理的一个对象
-->
<context:component-scan base-package="com.stu.controller"></context:component-scan> <!-- 视图解析器 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 前缀 -->
<property name="prefix" value="/WEB-INF/"></property>
<!-- 后缀 -->
<property name="suffix" value=".jsp"></property>
</bean> <!-- 不拦截静态资源 -->
<mvc:annotation-driven></mvc:annotation-driven>
<mvc:default-servlet-handler />

编辑一个 Hello.jsp 文件,文件名和方法返回值大小写一致。

并且在web.xml中添加如下配置信息

<!-- SpringMVC的中央控制器 -->
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--
也可以通过修改Servlet的初始化参数来指定要加载的SpringMVC配置文件所在的路径
-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/config/springMVC-servlet.xml</param-value>
<!-- 从类路径加载 -->
<!--<param-value>classpath:applicationContext.xml</param-value>-->
</init-param>
<!--页面加载时开始加载-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMVC</servlet-name>
<!--
/* 拦截的是所有的路径,如果直接访问jsp,那么不可能存在以/***/***.jsp为路径的控制器 如果访问/hello/hello01
那么在转发过程中依然跳转到.jsp路径,和前面的场景一样是错误的
-->
<!--
/ 只会拦截路径型请求,例如 /hello/hello01 不会拦截后缀型请求,例如jsp
但是会拦截纯静态资源,例如css、js、图片之类 如果要纯静态资源能够被正常加载,那么需要在Spring配置文件中加上:
<mvc:annotation-driven/> <mvc:default-servlet-handler/>
-->
<url-pattern>/</url-pattern>
</servlet-mapping>

添加到Tomcat容器中,用浏览器进行访问结果如下

    

[SpringMVC-初始] 初始SpringMVC的更多相关文章

  1. springmvc DispatchServlet初始化九大加载策略(一)

    由于篇幅较长,因此分三篇进行讲解: springmvc DispatchServlet初始化九大加载策略(一) springmvc DispatchServlet初始化九大加载策略(二) spring ...

  2. springMvc入门--初识springMvc

    springMvc是什么 springmvc是表现层的框架,是一个spring的表现层组件.是整个spring框架的一部分,但是也可以不使用springmvc.跟struts2框架功能类似.其中的mv ...

  3. springMVC学习(3)-springMVC和mybatis整合

    一.需求:使用springmvc和mybatis完成商品列表查询. 二.整合思路:springMVC+mybaits的系统架构: 1步):整合dao层 mybatis和spring整合,通过sprin ...

  4. (转)SpringMVC学习(六)——SpringMVC高级参数绑定与@RequestMapping注解

    http://blog.csdn.net/yerenyuan_pku/article/details/72511749 高级参数绑定 现在进入SpringMVC高级参数绑定的学习,本文所有案例代码的编 ...

  5. (转)SpringMVC学习(三)——SpringMVC的配置文件

    http://blog.csdn.net/yerenyuan_pku/article/details/72231527 读者阅读过SpringMVC学习(一)——SpringMVC介绍与入门这篇文章后 ...

  6. (转)SpringMVC学习(一)——SpringMVC介绍与入门

    http://blog.csdn.net/yerenyuan_pku/article/details/72231272 SpringMVC介绍 SpringMVC是什么? SpringMVC和Stru ...

  7. 初探SpringMVC,走进SpringMVC的世界

    1.Springmvc入门 1.1.Springmvc是什么 SpringMVC是Spring中的一个组件,目前(2019)在互联网公司用的很多,是必需学习的一门框架技术!SpringMVC用于web ...

  8. SpringMVC 01: SpringMVC + 第一个SpringMVC项目

    SpringMVC SpringMVC概述: 是基于MVC开发模式的框架,用来优化控制器 是Spring家族的一员,也具备IOC和AOP 什么是MVC: 它是一种开发模式,是模型视图控制器的简称,所有 ...

  9. SpringMVC的初始

    1:其实一开始对SSH和SSM并不是很熟悉的,对SSH可能熟悉些(Struts,Spring,Hibernate)这三个框架.但是由于框架的更新,和出现了更好的框架,一些老框架就被淘汰了,但是呢,一些 ...

  10. springmvc DispatchServlet初始化九大加载策略(三)

    7. initRequestToViewNameTranslator 请求视图名 它主要与视图解析有关,如果对ViewResolvers.ModelAndView.View等没有多大印象,可以先看第8 ...

随机推荐

  1. ImportError: sys.meta_path is None, Python is likely shutting down

    python执行过错中,报错:ImportError: sys.meta_path is None, Python is likely shutting down 解决方法:在C:\Users\Adm ...

  2. jquery快速获得url 的get传值

    <script> var res = location.search.substr(1).split("&"); var arr={}; for (var i ...

  3. shiro中单点登录

    Shiro 1.2开始提供了Jasig CAS单点登录的支持,单点登录主要用于多系统集成,即在多个系统中,用户只需要到一个中央服务器登录一次即可访问这些系统中的任何一个,无须多次登录.此处我们使用Ja ...

  4. MySQL_插入更新 ON DUPLICATE KEY UPDATE

    平时我们在设计数据库表的时候总会设计 unique  或者 给表加上 primary key 的限制条件. 此时 插入数据的时候 ,经常会有这样的情况: 我们想向数据库插入一条记录: 若数据表中存在以 ...

  5. 洛谷U36590搬书

    题目背景 陈老师喜欢网购书籍,经常一次购它个百八十本,然后拿来倒卖,牟取暴利.前些天,高一的新同学来了,他便像往常一样,兜售他的书,经过一番口舌,同学们决定买他的书,但是陈老师桌上的书有三堆,每一堆都 ...

  6. 前端基础之CSS的引入+HTML标签选择器+CSS操作属性

    clear:left/ringt属性 CSS:语法形式上由选择器+以及一条或多条声明组成:选择器查找到指定的html标签后,使用css属性设置html标签的样式:                   ...

  7. mysql 数据库的CUDR

    mysql删表和建表语句: DROP TABLE IF EXISTS `t_blog_user`;CREATE TABLE `t_blog_user` ( `id` int(11) NOT NULL ...

  8. Python3 ElementTree.tostring()导致标签前辍变为ns0/ns1处理

    一.说明 python中我们经常借助xml.etree.ElementTree对xml进行处理,其中ElementTree.fromstring()将字符串格式化成et对象,ElementTree.t ...

  9. pandas报错处理:TypeError: Empty 'DataFrame': no numeric data to plot

    Tushare返回的是pandas的DataFrame格式,但是执行以下代码时报错:TypeError: Empty 'DataFrame': no numeric data to plot impo ...

  10. Java 8 默认方法(Default Methods)

    Java 8 默认方法(Default Methods) Posted by Ebn Zhang on December 20, 2015 Java 8 引入了新的语言特性——默认方法(Default ...