spring_mvc入门项目的小总结

Posted yifachen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring_mvc入门项目的小总结相关的知识,希望对你有一定的参考价值。

1.先搭建一个maven的web项目 ,然后把文件夹完善一下,创建一个java的文件夹和resource的问件夹,并指定他们各自的功能。

导入pom.xml文件的依赖

 

 <properties>
 <!--这里用version进行版本的统一的控制-->
        <spring.version>5.1.5.RELEASE</spring.version>
 </properties>
<dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.0</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

 

2.创建了一个controller的类 用来完成对前端jsp的请求的处理  就像servlet一样 但是在spring_mvc中就可以通过配置普通的类来完成控制  而无需再继承httpservlet类了

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

@Controller//配置扫描器的注解 将这个类可以被spring容器配置为bean对象
public class HelloController {
    //
    @RequestMapping("/hello")
    public String hello(){
        System.out.println("你好,springmvc");

//这个return返回的就是要跳转的页面的名字 好像是这么说的
return "success"; } }

3.配置spring的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:context="http://www.springframework.org/schema/context"
       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/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

    <!--配置spring创建容器时要扫描的包
        但是  还要的 web.xml中去初始化这个扫瞄器
    -->
    <context:component-scan base-package="com.song"></context:component-scan>

    <!-- 配置视图解析器-->
    <bean id="InternalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!--指定那个文件夹下的jsp页面-->
        <property name="prefix" value="/WEB-INF/page/"></property>
        <!--指定以什么来结尾的文件-->
        <property name="suffix" value=".jsp"></property>
    </bean>
    <!--配置spring开启   mvc注解的支持-->
    <mvc:annotation-driven></mvc:annotation-driven>

</beans>

4.此时还要再web.xml文件中将这个扫描器再初始化这个servlet的时候  创建

<!DOCTYPE web-app PUBLIC
 "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
 "http://java.sun.com/dtd/web-app_2_3.dtd" >

<web-app>
  <display-name>Archetype Created Web Application</display-name>
  <servlet>
    <servlet-name>dispatcherServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <!--配置servlet初始化时的参数,读取springmvc的配置文件,创建spring容器-->
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>classpath:springmvc.xml</param-value>
    </init-param>
  <!--配置servlet启动时的加载对象-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcherServlet</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

5.在WEB—INF下建立一个page的包用来放jsp文件

写一个跳转前的jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<h3>你好</h3>
<a href="hello">chick this</a>
</body>
</html>


<!-- 跳转后的jsp页面-->
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
    <h3>hello  mcv</h3>
</body>
</html>

5.在tomcat上添加这个项目  运行

注意:这里再tomcat上部署的war包  和war exploded的区别

    

war模式:将WEB工程以包的形式上传到服务器 ;
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;

 

(1)war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;

(2)war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。

(3)在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。

 

 ps:此处踩了一个小坑  就是再用idea创建了一个项目 , 当把这个项目删除时(从工作空间),再创建一个同名的项目,他会没有pom文件,

  还会报出 -------

Failed to create a Maven project: already exists in VFS

这时我们在回收站中将这个被删除的项目彻底清除就可以了

 

以上是关于spring_mvc入门项目的小总结的主要内容,如果未能解决你的问题,请参考以下文章

回归 | js实用代码片段的封装与总结(持续更新中...)

Spring_MVC集合类型的参数赋值

Spring_MVC集合类型的参数赋值

20+ css高频实用片段,提高幸福感的小技能你可以拥有噢

项目开发收尾总结(片段)

VsCode 代码片段-提升研发效率