Home Spring学习 创建SpringMVC项目—HelloMVC

创建SpringMVC项目—HelloMVC

0 112
MVC框架的作用
    1.将URL映射到Java类或者Java类的方法
    2.封装用户提交的数据
    3.处理请求--调用相关的业务处理--封装响应数据
    4.将响应的数据进行渲染,jsp/html等表示层数据
    
为什么要学习SpringMVC
    1.轻量级,简单易学
    2.高效,基于请求相应的MVC框架(处理请求返回视图)
    3.与Spring兼容性好,无缝衔接
    4.约定优于配置
    5.功能强大,RESTful、数据验证、格式化、本地化、主题等
    6.简洁灵活

1.新建一个Moudle,添加web的支持!

1.1新建一个Moudle,右击项目名称—add Framework Support(添加框架支持,选择web)

 

2.导入SpringMVC相关依赖

<?xml version="1.0" encoding="UTF-8"?>
<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.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>SpringMVC-Study</artifactId>
    <packaging>pom</packaging>
    <version>1.0-SNAPSHOT</version>
    <modules>
        <module>SpringMVC-01-Servlet</module>
        <module>SpringMVC-02-HelloMVC</module>
    </modules>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>5.3.1</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.2</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>

</project>

3.配置web.xml,注册DisatcherServlet

<?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:springmvc-servlet.xml</param-value>
            </init-param>
            <load-on-startup>1</load-on-startup>
        </servlet>
        <servlet-mapping>
            <servlet-name>springmvc</servlet-name>
            <url-pattern>/</url-pattern>
        </servlet-mapping>
</web-app>

4.编写springMVC配置文件

<?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 http://www.springframework.org/schema/beans “> <!– 添加处理器映射器–> <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> <bean id=”/hello” class=”com.yang.controller.HelloController”/> </beans>

5.添加 处理映射器

<!– 添加处理器映射器–>
<bean class=”org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping”/>

6.添加 处理器适配器

<!– 添加处理器适配器–>
<bean class=”org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter”/>

7.添加 视图解析器

<!– 添加处理器适配器–>
<bean class=”org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter”/>
<!– 视图解析器:DispatcherServlet给他的ModelAndView
1.获取了ModelAndView
2.解析ModelAndView的视图
3.拼接视图名字,找到对应的视图 /WEB-INF/jsp/hello.jsp
4.将数据渲染到这个视图上
–>
<!– 添加视图解析器–>
<bean class=”org.springframework.web.servlet.view.InternalResourceViewResolver”>
<!– 前缀–>
<property name=”prefix” value=”/WEB-INF/jsp/”/>
<!– 后缀–>
<property name=”suffix” value=”.jsp”/>

8.编写我们要实现的操作业务Controller

要么实现Controller接口,要么增加注解;需要返回一个ModelAndView,装数据,封视图;

package com.yang.controller;

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

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

//注意:先导入Controller接口
public class
HelloController implements Controller {

public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception {
//ModelAndView 模型和视图

ModelAndView mv = new ModelAndView();
//业务方法写在此处
//封装对象,放在ModelAndView中
mv.addObject(“msg”,”HelloSpringMVC!!!”);
//封装要跳转的视图,放在ModelAndView中,视图跳转
mv.setViewName(“hello”);// /WEB-INF/jsp/hello.jsp
return mv;
}
}

 

9.把Controller类交给SpringIOC容器,注册bean

<bean id=”/hello” class=”com.yang.controller.HelloController”/>

 

 

10.写要跳转的jsp页面,显示ModelAndView存放的数据,以及我们的正常页面

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

11.配置Tomcat启动
可能遇到的问题:访问出现404,排查步骤:

1.查看控制台输出,看一下是不是缺少jar包

2.如果jar包存在,显示无法输出,就要在IDEA项目发布中添加lib依赖,即查看该目录下是否有lib包,没有的话则加入;

3.重启Tomcat即可

SIMILAR ARTICLES

发表评论

发表评论