Hello SpringMVC

3 篇文章 0 订阅
2 篇文章 0 订阅

目录

创建工程

step01 选择maven

step02 填写 maven 工程的相关信息

step03 Enable Auto-Import

step04 把工程修改为web工程

step05 添加web目录

非注解方式

添加依赖

编写控制层 HelloContoller

编写配置文件  spring-servlet.xml

 编写页面 hello.jsp

编写配置文件 web.xml

注解方式(推荐)

添加依赖

编写控制层 HelloController

编写配置文件 spring-servlet.xml


我们在网页中输入字符串 “Hello SpringMVC”。MVC分别对应 model、view、controller,在本案例中没有model,主要讲SpringMVC框架的搭建。

创建工程

step01 选择maven

选择maven,创建maven工程,。顺便说一下,maven工程与普通Java工程的区别是maven工程能帮我们管理好依赖,我们智需要在 pom.xml 中声明一下,依赖就能添加到我们的项目中,如果使用Java工程的话,我们要先下载好相关依赖的 jar 包,把 jar 包复制到 lib 目录中,然后右键添加到项目中,这样很繁琐,maven工程就很好的帮我们处理了这样过程。

step02 填写 maven 工程的相关信息

这一步是填写 maven 工程的相关信息,首先是工程的名字和位置,然后是工程的 GAV,通过这三个参数就可以指定一个 maven 工程,我们添加的依赖本质上也是一个 maven 工程,点击 finish 完成工程的创建。

step03 Enable Auto-Import

在工程创建完成后,右下角有个 Enable  Auto-Import ,点击之之后 maven 工程才算创建完成

step04 把工程修改为web工程

<packaging>war</packaging>

step05 添加web目录

 选中工程名,右键选择 Open Module Setting 

在这个窗口中,先双击 Web Resource Directtory 下的红色部分,然后ok,这部分是生成 webapp 目录 ;再看上面的 Deployment Descripors 中的红色部分,这部分是生成 web.xml 文件,查看路径是否正确,正确的地址是 webapp 目录中。弄好时候就可以开始敲代码了。

 这个就是项目的结构了,说明一下,webapp目录必须要有小蓝点,没有的就不是web目录,那就说明你弄错了,web.xml  这是配置文件,如果你创建的工程里没有,那也说明创建错了。

非注解方式

添加依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.19</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
        </dependency>
    </dependencies>

编写控制层 HelloContoller

package com.demo.springmvc.controller;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * @Author XY
 * @Date 2022/6/18 16:52
 * <p>
 * Controller 的包名注意不要弄错
 */
public class HelloController implements Controller {
    @Override
    public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
        ModelAndView mv = new ModelAndView();
        mv.addObject("msg", "Hello SpringMVC");
        return mv;
    }
}

编写配置文件  spring-servlet.xml

如上图,选择 Spring Config,创建配置文件。我这个配置文件的名字是 spring-servlet

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

    <!--将HelloController添加的容器-->
    <bean class="com.demo.springmvc.controller.HelloController" id="/hello"/>

    <!--处理器映射器,也可以选择其他映射器,这个是按照bean的id来映射的-->
    <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/>

    <!--处理器适配器-->
    <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/>

    <!--视图解析器-->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--跳转路径的前缀-->
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <!--后缀-->
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

 编写页面 hello.jsp

在 WEB-IFN 下新建目录jsp,然后在jsp中创建hello.jsp页面,在这个页面中添加一行代码

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

msg就是HelloController中添加的。

编写配置文件 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>
        <servlet-name>springmvc</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>classpath:spring-servlet.xml</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>springmvc</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
    
</web-app>

最后运行就可以了

注解方式(推荐)

添加依赖

用注解开发很方便,只需要添加一个依赖

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.20</version>
        </dependency>
    </dependencies>

编写控制层 HelloController

package com.smart.springmvc.controller;

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

/**
 * @Author XY
 * @Date 2022/6/18 11:31
 */
@Controller
public class HelloController {
    @RequestMapping("/hello")
    public ModelAndView hello() {
        ModelAndView mv = new ModelAndView();
        mv.addObject("msg", "Hello SpringMVC");
        return mv;
    }
}

编写配置文件 spring-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/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.smart.springmvc"/>
    <mvc:annotation-driven/>
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
</beans>

hello.jsp 和 web.xml都和之前的一样,运行之后也一样可以正常访问

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值