第一步:新建一个Moudle , 添加web支持!建立包结构 com.kuang.controller
第二步:由于Maven可能存在资源过滤的问题,我们将配置完善

<build><resources><resource><directory>src/main/java</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource><resource><directory>src/main/resources</directory><includes><include>**/*.properties</include><include>**/*.xml</include></includes><filtering>false</filtering></resource></resources>
</build>

第三步:在pom.xml文件引入相关的依赖:
第四步:配置web.xml

  1. 注意web.xml版本问题,要最新版!
  2. 注册DispatcherServlet
  3. 关联SpringMVC的配置文件
  4. 启动级别为1
  5. 映射路径为 / 【不要用/*,会404】
    配置web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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_4_0.xsd"version="4.0"><!--1.注册servlet--><servlet><servlet-name>SpringMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--通过初始化参数指定SpringMVC配置文件的位置,进行关联--><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-servlet.xml</param-value></init-param><!-- 启动顺序,数字越小,启动越早 --><load-on-startup>1</load-on-startup></servlet><!--所有请求都会被springmvc拦截 --><servlet-mapping><servlet-name>SpringMVC</servlet-name><url-pattern>/</url-pattern></servlet-mapping></web-app>

第五步:添加Spring MVC配置文件
配置springmvc-servlet.xml

<?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:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/contexthttps://www.springframework.org/schema/context/spring-context.xsdhttp://www.springframework.org/schema/mvchttps://www.springframework.org/schema/mvc/spring-mvc.xsd"><!-- 自动扫描包,让指定包下的注解生效,由IOC容器统一管理 --><context:component-scan base-package="com.kuang.controller"/><!-- 让Spring MVC不处理静态资源 --><mvc:default-servlet-handler /><!--支持mvc注解驱动在spring中一般采用@RequestMapping注解来完成映射关系要想使@RequestMapping注解生效必须向上下文中注册DefaultAnnotationHandlerMapping和一个AnnotationMethodHandlerAdapter实例这两个实例分别在类级别和方法级别处理。而annotation-driven配置帮助我们自动完成上述两个实例的注入。--><mvc:annotation-driven /><!-- 视图解析器 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"id="internalResourceViewResolver"><!-- 前缀 --><property name="prefix" value="/WEB-INF/jsp/" /><!-- 后缀 --><property name="suffix" value=".jsp" /></bean></beans>

第六步:创建Controller
编写一个Java控制类: com.kuang.controller.HelloController , 注意编码规范

package com.kuang.controller;import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
//@Controller是为了让Spring IOC容器初始化时自动扫描到
@Controller
//@RequestMapping是为了映射请求路径,这里因为类与方法上都有映射所以访问时应该是/HelloController/hello;
@RequestMapping("/HelloController")
public class HelloController {//方法中声明Model类型的参数是为了把Action中的数据带到视图中;真实访问地址 : 项目名/HelloController/hello@RequestMapping("/hello")public String sayHello(Model model){//向模型中添加属性msg与值,可以在JSP页面中取出并渲染model.addAttribute("msg","hello,SpringMVC");//方法返回的结果是视图的名称hello,加上配置文件中的前后缀变成WEB-INF/jsp/hello.jsp。return "hello";}
}l

第七步:创建视图层
在WEB-INF/ jsp目录中创建hello.jsp , 视图可以直接取出并展示从Controller带回的信息;可以通过EL表示取出Model中存放的值,或者对象;

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>SpringMVC</title>
</head>
<body>${msg}
</body>
</html>

小结

  1. 新建一个web项目
  2. 导入相关jar包
  3. 编写web.xml , 注册DispatcherServlet
  4. 编写springmvc配置文件
  5. 接下来就是去创建对应的控制类 , controller
  6. 最后完善前端视图和controller之间的对应
  7. 测试运行调试.
  8. 使用springMVC必须配置的三大件:处理器映射器、处理器适配器、视图解析器通常,我们只需要手动配置视图解析器,而处理器映射器和处理器适配器只需要开启注解驱动即可,而省去了大段的xml配置

SpringMVC自学日志03(SpringMVC注解)相关推荐

  1. SpringMVC自学日志06(JSON)

    什么是JSON? JSON(JavaScript Object Notation, JS 对象标记)是一种轻量级的数据交换格式,目前使用特别广泛. 采用完全独立于编程语言的文本格式来存储和表示数据. ...

  2. SpringMVC自学日志07(整合Mybatic)

    整合步骤 导入相关jar包 <!--junit--> <dependency><groupId>junit</groupId><artifactI ...

  3. SpringMVC自学日志02(初识SpringMVC)

    什么是SpringMVC? Spring MVC是Spring Framework的一部分,是基于Java实现MVC的轻量级Web(其中servlet是最主要的)框架. 官方文档地址:https:// ...

  4. SpringMVC自学日志05(结果跳转方式,数据处理 ,乱码问题)

    结果跳转方式 通过SpringMVC来实现转发和重定向 - 无需视图解析器:== @Controller public class ResultSpringMVC {@RequestMapping(& ...

  5. Mybatis自学日志03(LOG4J,注解)

    什么是LOG4J? Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地是控制台.文件.GUI组件,甚至是套接口服务器.NT的事件记录器.UNIX Syslog ...

  6. SpringMVC自学日志04(Controller 及 RestFul风格 )

    控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现. 控制器负责解析用户的请求并将其转换为一个模型. 在Spring MVC中一个控制器类可以包含多个 ...

  7. SpringMVC自学日志01(回顾servlet)

    MVC:模型(dao,service) 视图(jsp) 控制器(servlet) dao service servlet:转发,重定向. 导入总环境pom.xml依赖 <dependencies ...

  8. 【SSM - SpringMVC篇】03 - SpringMVC的参数绑定 - 参数自动绑定 - javabean对象参数绑 - 嵌套bean参数绑定

    文章目录 SpringMVC的参数绑定 1 传统方式进行参数传递 2 通过SpringMVC的参数绑定实现[***用这个就行] 2.1 SpringMVC的基本数据类型的参数绑定 2.1.1 方法形式 ...

  9. Spring自学日志03(作用域,自动装配)

    bean的作用域 Singleton(单例模式,是默认spring的) <bean id ="user2" class="com.injection.User&qu ...

最新文章

  1. Django实战之增加链接
  2. vc--少林72般绝技
  3. java调度:(三)Timer中的单线程守护
  4. SAP Spartacus里的StorefrontConfig静态类型
  5. 面向对象技术第一讲 多态性
  6. vsc中HTML配置,vscode怎么配置node?
  7. A. Raising Bacteria
  8. Solr删除managedschema
  9. Python入门基础学习记录(二)汇率案例学习记录
  10. Nexon由Xsolla全球支付服务
  11. lacp静态和动态区别_LACP基础
  12. 阿里云服务器搭建java环境详细步骤4
  13. 【RDMA】技术详解(四):RDMA之Verbs和编程步骤
  14. 100G QSFP28 CLR4单模光模块的介绍及对比
  15. Django auth用户认证模块
  16. 第二届全国智能制造(中国制造2025)创新创业大赛华南人工智能专项赛决赛圆满举办
  17. CnOpenData中国各省份工商注册企业分年份数量统计(含新增,注销企业数量)
  18. 使用 Drools 规则引擎实现业务逻辑
  19. 一个简单的视频播放器
  20. 百度DuerOS+ARM 加出了赋能合作伙伴的哪些能力?

热门文章

  1. (八)Locust 设置断言
  2. Java基础教程:IO流与文件基础
  3. 第五章:关于ESearch的应用
  4. cocos2dx打飞机项目笔记六:GameScene类和碰撞检测 boundingbox
  5. PLSQL存储过程中的内部存储过程
  6. [React] 尚硅谷 -- 学习笔记(一)
  7. ES6学习笔记(三):教你用js面向对象思维来实现 tab栏增删改查功能
  8. Node.js「三」—— 创建静态 WEB 服务器
  9. 常量指针、指针常量以及指向常量的指针常量
  10. android系统换动画,Android Activity动画跳转修改