SSM框架学习——【Spring MVC】——Spring mvc 入门

Spring mvc 入门

文章目录

  • Spring mvc 入门
    • Servlet api jsp
    • intellij 创建 maven springmvc项目过程
      • 1. 创建maven 项目
      • 2.引入所需依赖
      • 3. 给intellij的项目引入web模块
      • 4 intellij中加入tomcat和其依赖
      • hello springmvc项目
        • 1. 编写jsp
        • 2. 编写controller
        • 3. 编写spring主配置类
        • 4. 创建web项目启动类替代web.xml
        • 5. 启动项目进行测试


Servlet api jsp

public class MyServlet extends HttpServet{
     
    
    public void doGet(){
     
        
    }
    
    //req 代表请求
    // resp 代表响应
    public void doPost(HttpServletRequest req,HttpServletResponse resp){
     
        //
    }
    
    
}

intellij 创建 maven springmvc项目过程

1. 创建maven 项目

2.引入所需依赖

编辑 pom.xml


<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0modelVersion>

    <groupId>org.examplegroupId>
    <artifactId>day0207artifactId>
    <version>1.0-SNAPSHOTversion>

    
    <properties>
        <spring.version>5.2.3.RELEASEspring.version>
    properties>


    <dependencies>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-contextartifactId>
            <version>${spring.version}version>
        dependency>
        
        <dependency>
            <groupId>org.aspectjgroupId>
            <artifactId>aspectjweaverartifactId>
            <version>1.9.4version>
        dependency>
        
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webartifactId>
            <version>${spring.version}version>
        dependency>
        <dependency>
            <groupId>org.springframeworkgroupId>
            <artifactId>spring-webmvcartifactId>
            <version>${spring.version}version>
        dependency>
    dependencies>

project>

3. 给intellij的项目引入web模块

  1. 创建webapp模块

SSM框架学习——【Spring MVC】——Spring mvc 入门_第1张图片

添加web模块

SSM框架学习——【Spring MVC】——Spring mvc 入门_第2张图片

指定web.xml和webroot的位置

SSM框架学习——【Spring MVC】——Spring mvc 入门_第3张图片

创建构建

SSM框架学习——【Spring MVC】——Spring mvc 入门_第4张图片

构建的输入与输出映射

SSM框架学习——【Spring MVC】——Spring mvc 入门_第5张图片

最终在目录下会有webApp目录

SSM框架学习——【Spring MVC】——Spring mvc 入门_第6张图片

4 intellij中加入tomcat和其依赖

选择右上角的add Confiuration

SSM框架学习——【Spring MVC】——Spring mvc 入门_第7张图片

选择template中的tomcat,点击ok

SSM框架学习——【Spring MVC】——Spring mvc 入门_第8张图片

再点击左上角的+号,选择tomcat server local

SSM框架学习——【Spring MVC】——Spring mvc 入门_第9张图片

设置tomcat名称和home

SSM框架学习——【Spring MVC】——Spring mvc 入门_第10张图片

选择构建项目day0207

SSM框架学习——【Spring MVC】——Spring mvc 入门_第11张图片

配置项目的 context root为"/"

SSM框架学习——【Spring MVC】——Spring mvc 入门_第12张图片

设置代码热更新

SSM框架学习——【Spring MVC】——Spring mvc 入门_第13张图片

再次打开 open module settings,加入tomcat 依赖

SSM框架学习——【Spring MVC】——Spring mvc 入门_第14张图片

SSM框架学习——【Spring MVC】——Spring mvc 入门_第15张图片

hello springmvc项目

1. 编写jsp

在webApp下添加hello.jsp

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

2. 编写controller

package com.neuedu.hellomvc.web;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/**
 * 一个处理请求的controller
 * controller需要添加@Controller注解来表明自己的身份,被springmvc识别到
 */
@Controller
public class HelloController {
     

    /**
     * 第一个控制器方法,返回modelandview
     * 声明该方法处理的请求地址:我们使用注解的方式
     * @return
     */
    @RequestMapping("/hello")
    public ModelAndView hello(){
     
        // 创建 modelandView对象:首先要有model:代表数据 其次要有view:代表逻辑视图名,对应指的是就是某一个jsp
        ModelAndView modelAndView = new ModelAndView();
        // 指定逻辑视图名view
        modelAndView.setViewName("/hello.jsp");

        //指定model content
        // addObject方法等价于request.setAttribute()
        modelAndView.addObject("content","hello spring mvc");

        return modelAndView;
    }
}

3. 编写spring主配置类

package com.neuedu.hellomvc;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ViewResolverRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

/**
 * 这是spring的配置类,同时也是springmvc的配置类:需要去配置视图解析器,处理器适配器 处理器映射器
 * WebMvcConfigurer 用于让开发者方便的去配置springmvc的各个组件:包括视图解析器,处理器适配器 处理器映射器 消息解析器 拦截器 资源映射器
 */
@Configuration // 代表这是个配置类
@EnableWebMvc //这个注解默认帮助开发者配置了处理器映射器和处理器适配器 相当于xml当中
@ComponentScan("com.neuedu.hellomvc") // 扫描该包之下的所有有注解的类,装入ioc容器中,显然controller包含在其中
public class AppConfig implements WebMvcConfigurer {
     


    // 配置视图解析qi
    // alt+insert 选择overrider
    //registry 代表注册机
    public void configureViewResolvers(ViewResolverRegistry registry) {
     
        // 创建视图解析器用于处理jsp的视图解析器叫做InternalResourceViewResolver
        InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();

        // 将视图解析器通过注册机注册到spring ioc中
        registry.viewResolver(viewResolver);
    }
}

4. 创建web项目启动类替代web.xml

package com.neuedu.hellomvc;

import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;

import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;

/**
 * 替代了web.xml 通过java代码的方式初始化web项目,必须实现接口WebApplicationInitializer
 */
public class WebInitializer implements WebApplicationInitializer {
     

    /**
     * 这个方法表明了具体的web项目的启动配置,包含对应的servlet和filter等等
     * @param servletContext
     * @throws ServletException
     */
    // 要运行servlet项目,我们需要servlet容器,也就是我们收悉的tomcat
    public void onStartup(javax.servlet.ServletContext servletContext) throws ServletException {
     
        // 配置dispatcherServlet以及ioc容器

        //创建web ioc容器
        AnnotationConfigWebApplicationContext context = new AnnotationConfigWebApplicationContext();
        // 指定主配置类AppConfig.class
        context.register(AppConfig.class);
        //将dispatcherServlet创建出来,并且用构造函数的方式指定servlet所使用的ioc容器
        DispatcherServlet dispatcherServlet = new DispatcherServlet(context);

        // 将servlet注册到servlet容器中去
        ServletRegistration.Dynamic dynamic = servletContext.addServlet("dispatcher", dispatcherServlet);
        // 配置dispatcherServlet的拦截请求为所有请求: /
        dynamic.addMapping("/");
        // 配置dispatcherServlet为第一个启动的servlet,优先级设为最高
        dynamic.setLoadOnStartup(1);
    }
}

5. 启动项目进行测试

点击之前设置好的tomcat右边的箭头按钮,在右上角

SSM框架学习——【Spring MVC】——Spring mvc 入门_第16张图片

项目运行状态会在控制台打印

SSM框架学习——【Spring MVC】——Spring mvc 入门_第17张图片

打开浏览器访问 http://localhost:8080/hello

SSM框架学习——【Spring MVC】——Spring mvc 入门_第18张图片

你可能感兴趣的:(#,SSM/Springboot,spring,java)