Intelli J :用Spring MVC 写个 HelloWorld

  最近在学框架,有很多代码需要总结总结。嗯,虽然原理不是很懂,但先用起来。这一篇文章写的是 采用开发工具 Intelli J ,写一个基于Spring MVC的HelloWorld。一些核心代码,放在文末。

文章目录

    • 创建Maven WebApp项目
    • Maven 依赖 spring web-mvc
    • 创建applicationContext.xml
    • web.xml配置DispatcherServlet
    • 在applicationContext.xml中配置Spring MVC
    • 写一个HelloWorld
    • 附录

创建Maven WebApp项目

Intelli J :用Spring MVC 写个 HelloWorld_第1张图片

Intelli J :用Spring MVC 写个 HelloWorld_第2张图片

Intelli J :用Spring MVC 写个 HelloWorld_第3张图片

  得到的项目结构如下
Intelli J :用Spring MVC 写个 HelloWorld_第4张图片

  还需要添加两个文件夹,resources用来放资源文件,java用来放源代码。
  新建文件夹
Intelli J :用Spring MVC 写个 HelloWorld_第5张图片
  得到目录如下
Intelli J :用Spring MVC 写个 HelloWorld_第6张图片
  如果你的Intelli J版本比较小,没有这两个文件夹提示,那么可以这么办
Intelli J :用Spring MVC 写个 HelloWorld_第7张图片

  结构搞定之后,随便建造一个包,等一会儿来写HelloWorld
Intelli J :用Spring MVC 写个 HelloWorld_第8张图片

Maven 依赖 spring web-mvc

  在pom.xml添加spring web-mvc的依赖
Intelli J :用Spring MVC 写个 HelloWorld_第9张图片

创建applicationContext.xml

  首先创建一个类型为xml的文件,放在resources目录下
Intelli J :用Spring MVC 写个 HelloWorld_第10张图片

  得到的文件内容,如下
Intelli J :用Spring MVC 写个 HelloWorld_第11张图片

  我们需要添加几行代码,第一个是新增命名空间和Schema配置(反正理解玩Spring MVC需要这么弄就行了,原理以后再搞,开车不一定要懂车是怎么造的呀
Intelli J :用Spring MVC 写个 HelloWorld_第12张图片
  多出来的代码不用自己去记,官网去找一找,丢个链接https://docs.spring.io/spring/docs/5.2.4.RELEASE/spring-framework-reference/index.html
Intelli J :用Spring MVC 写个 HelloWorld_第13张图片

web.xml配置DispatcherServlet

  默认情况下,web.xml版本支持的Servlet版本是2.3,支持注解开发的话,至少3.0,所以我们得修改一下web.xml

  默认情况
Intelli J :用Spring MVC 写个 HelloWorld_第14张图片

  如下修改,找到Project Structure
Intelli J :用Spring MVC 写个 HelloWorld_第15张图片

Intelli J :用Spring MVC 写个 HelloWorld_第16张图片

Intelli J :用Spring MVC 写个 HelloWorld_第17张图片

Intelli J :用Spring MVC 写个 HelloWorld_第18张图片

  新的web.xml
Intelli J :用Spring MVC 写个 HelloWorld_第19张图片

  接下来,在web.xml里面配置DispatcherServlet 。具体的作用在代码里注释了
Intelli J :用Spring MVC 写个 HelloWorld_第20张图片

在applicationContext.xml中配置Spring MVC

  在applicationContext再添加几行代码,作用都在里面注释了

Intelli J :用Spring MVC 写个 HelloWorld_第21张图片

写一个HelloWorld

  直接看代码
Intelli J :用Spring MVC 写个 HelloWorld_第22张图片
  开Tomcat,然后跑项目,看效果
Intelli J :用Spring MVC 写个 HelloWorld_第23张图片

附录

web.xml

// 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">

    <!--  配置核心Servlet DispatcherServlet  -->
    <servlet>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>

         <!--  设置applicationContext.xml路径-->
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:applicationContext.xml</param-value>
        </init-param>
        <!-- 配置Web应用启动时自动创建Spring IoC容器  非必选-->
        <load-on-startup>0</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>


</web-app>

applicationContext.xml

//applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/mvc
        https://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd">

<!--    spring mvc 支持注解开发-->
    <mvc:annotation-driven/>
<!--开启bean扫描,使得Spring IoC 容器支持注解开发-->
    <context:component-scan base-package="com.lord.demo1"/>
<!--    可选配置 "default-servlet-handler" 指的是Spring MVC 只针对servlet,静态资源被排除-->
    <mvc:default-servlet-handler/>

</beans>

HelloWorld

package com.lord.demo1;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * @Author Lord_Bao
 * @Date 2020/3/17 10:09
 * @Version 1.0
 */

//Controller  是一个Servlet控制器
@Controller
public class HelloWorld {

    //URL映射 http://your host/hello
    // e.g http://localhost:8080/hello
    @GetMapping("/hello")

    //以字符串的形式响应
    @ResponseBody
    public String  HelloWorld(){
        return  "Hello World";
    }
}

你可能感兴趣的:(JavaWeb,Spring,spring,java)