IDEA + Maven +SpringMVC + XML配置

  • 1. 运行出默认 index.jsp 页面
    • 1.1 构建Maven项目
    • 1.2 设置pom.xml
    • 1.3 设置Spring MVC框架支持
    • 1.4 进行 tomcat 相关配置
      • 1.4.1 在 Project Structure的Artifact中进行修改
      • 1.4.2 配置Tomcat
    • 1.5 运行默认页面
  • 2. 运行自己的Controller
    • 2.1 重新构建目录
    • 2.2 配置 `web.xml`
    • 2.3 配置 `dispatcher-servlet.xml`
    • 2.4 配置 `applicationContext.xml`
    • 2.5 写个控制器和页面
    • 2.6 运行访问 `http://localhost:8080/home/page`
  • 遇到的错误
  • MAVEN


1. 运行出默认 index.jsp 页面

1.1 构建Maven项目

1.2 设置pom.xml

<?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>Demo</artifactId><version>1.0-SNAPSHOT</version><packaging>war</packaging><name>MavenSpring Maven Webapp</name><!-- FIXME change it to the project's website --><url>http://www.example.com</url><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><maven.compiler.source>1.7</maven.compiler.source><maven.compiler.target>1.7</maven.compiler.target></properties><!-- https://search.maven.org/ 查询包依赖 --><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency><!--    Servlet--><dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>4.0.0</version><scope>provided</scope></dependency><!-- JSP的解析包 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency><!--   Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.2.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>5.2.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>5.2.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aop</artifactId><version>5.2.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-web</artifactId><version>5.2.0.RELEASE</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.2.0.RELEASE</version></dependency><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.12.2</version></dependency></dependencies><build><finalName>MavenSpring</finalName><pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --><plugins><plugin><artifactId>maven-clean-plugin</artifactId><version>3.1.0</version></plugin><!-- see http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging --><plugin><artifactId>maven-resources-plugin</artifactId><version>3.0.2</version></plugin><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.8.0</version></plugin><plugin><artifactId>maven-surefire-plugin</artifactId><version>2.22.1</version></plugin><plugin><artifactId>maven-war-plugin</artifactId><version>3.2.2</version></plugin><plugin><artifactId>maven-install-plugin</artifactId><version>2.5.2</version></plugin><plugin><artifactId>maven-deploy-plugin</artifactId><version>2.8.2</version></plugin></plugins></pluginManagement></build>
</project>

设置相关pom之后出现了src文件夹

1.3 设置Spring MVC框架支持

配置pom.xml之后,我们在IDEA中要添加一下框架的支持。右击我们的项目文件夹,选择Add Framework Support

点击OK,我们会发现WEB-INF文件夹下多出了两个文件 appalicationContext.xmldispatcher-servlet.xml 暂且放置,后面会进行配置。

1.4 进行 tomcat 相关配置

1.4.1 在 Project Structure的Artifact中进行修改

1.4.2 配置Tomcat

1.5 运行默认页面

2. 运行自己的Controller

2.1 重新构建目录

如果发现src/main文件夹不能创建java类文件package???

  1. 可以先把必须的文件夹全部创建好;
  2. 然后我们进入Project Structure选择文件夹的作用,在界面的右上角进入Project Structure
  3. 然后在Modules中选择设置各个模块,其中java文件夹是 SourcestestTest,改完之后,点OK,文件夹会变色,那就成功了。

2.2 配置 web.xml

IDEA创建的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_3_1.xsd"version="3.1"><display-name>Archetype Created Web Application</display-name><!--welcome pages--><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><!--配置springmvc DispatcherServlet--><servlet><servlet-name>MyServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><!--配置dispatcher.xml作为mvc的配置文件--><param-name>contextConfigLocation</param-name><param-value>classpath:dispatcher-servlet.xml</param-value></init-param><load-on-startup>1</load-on-startup><async-supported>true</async-supported></servlet><servlet-mapping><servlet-name>MyServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping><!--把applicationContext.xml加入到配置文件中--><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:applicationContext.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
</web-app>

2.3 配置 dispatcher-servlet.xml

这个文件负责的是Spring-MVC的配置。

比如:
controller的自动装配
静态资源目录映射
启用注解
视图解析器
<?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 http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--此文件负责整个mvc中的配置--><!-- 自动扫描装配 --><context:component-scan base-package="example.controller"/><!--启用spring的一些annotation --><context:annotation-config/><!-- 配置注解驱动 可以将request参数与绑定到controller参数上 --><mvc:annotation-driven/><!--静态资源映射--><!--本项目把静态资源放在了webapp的statics目录下,资源映射如下--><mvc:resources mapping="/css/**" location="WEB-INF/statics/css"/><mvc:resources mapping="/js/**" location="WEB-INF/statics/js/"/><mvc:resources mapping="/image/**" location="WEB-INF/statics/images/"/><mvc:default-servlet-handler />  <!--这句要加上,要不然可能会访问不到静态资源,具体作用自行百度--><!-- 对模型视图名称的解析,即在模型视图名称添加前后缀(如果最后一个还是表示文件夹,则最后的斜杠不要漏了) 使用JSP--><!-- 默认的视图解析器 在上边的解析错误时使用 (默认使用html)- --><bean id="defaultViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/><property name="prefix" value="/WEB-INF/views/"/><!--设置JSP文件的目录位置--><property name="suffix" value=".jsp"/><property name="exposeContextBeansAsAttributes" value="true"/></bean></beans>

2.4 配置 applicationContext.xml

此文件主要负责一些非mvc组件(如:MyBatis。。。)的配置,在我们的小实验中暂时没有其他组件,所以是空的,我们也可以只是扫描一下。

<?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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"><context:component-scan base-package="example"/>
</beans>

2.5 写个控制器和页面

控制器

package example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
@RequestMapping("/home")
public class HomeController {@RequestMapping("/page")public String index(){System.out.println("this is home");return "home";}
}

home.jsp

<%--Created by IntelliJ IDEA.User: HPDate: 2021/4/22Time: 20:46To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Title</title>
</head>
<body>
This is home page!!!
</body>
</html>

2.6 运行访问 http://localhost:8080/home/page

遇到的错误


pom.xml中增加:

    <!-- JSP的解析包 --><dependency><groupId>javax.servlet</groupId><artifactId>jstl</artifactId><version>1.2</version></dependency>


参考文章:
Intellij IDEA2018基于maven创建springMVC项目以及文件配置,详细图文介绍
IDEA用Maven创建SpringMVC项目和配置(XML配置方法)



MAVEN

依赖管理

唯一ID: 对于某个依赖,Maven只需要3个变量即可唯一确定某个jar包:

  1. groupId:属于组织的名称,类似Java的包名;
  2. artifactId:该jar包自身的名称,类似Java的类名;
  3. version:该jar包的版本。

通过上述3个变量,即可唯一确定某个jar包。Maven通过对jar包进行PGP签名确保任何一个jar包一经发布就无法修改。修改已发布jar包的唯一方法是发布一个新版本。

如果我们要引用一个第三方组件,比如okhttp,如何确切地获得它的groupId、artifactId和version?

方法是通过search.maven.org搜索关键字,找到对应的组件后,直接复制。

IDEA + Maven创建SpringMVC项目和XML配置相关推荐

  1. 【SpringMVC学习笔记】03 使用maven创建springMVC项目

    2018.5.30 1.创建maven项目 项目结构: 第一个√为简单创建maven项目,可跳过选择是否为web项目的选项      2.因为不是web项目,所有pom.xml文件中,war包的标签会 ...

  2. myeclipse需要配置服务器得项目是,【SpringMVC】使用Myeclipse创建SpringMVC项目【超详细教程】...

    之前一直是使用Eclipse创建Web项目,用IDEA和MyEclipse的创建SpringMVC项目的时候时不时会遇到一些问题,这里把这个过程记录一下,希望能帮助到那些有需要的朋友.我是用的是MyE ...

  3. 介绍一个懒人创建springmvc项目的方法(二)

    PS: 我是一个懒人,我懒得搭建项目连pom都不想去找,连web.xml都不想配置.所以就会想着找一些简便的办法,来适应我这种懒人. ---------------------------- 本人介绍 ...

  4. 用Eclipse 搭建一个Maven Spring SpringMVC 项目

    1: 先创建一个maven web  项目: 可以参照之前的文章:  用Maven 创建一个 简单的 JavaWeb 项目 创建好之后的目录是这样的; 2: 先配置maven  修改pom.xml & ...

  5. MyEclipse使用Maven创建web项目+搭建SSM框架教程

    MyEclipse使用Maven创建web项目+搭建SSM框架教程 博文中的代码:链接:http://pan.baidu.com/s/1o8tqIMI 密码:m3si 安装maven和配置 1.下载m ...

  6. MyEclipse使用Maven创建web项目+搭建SSM框架教

     使用maven已经有一段时间了,但项目是别人搭建好的,因此一直想着自己要学习搭建一下.网上找了些资料后,结合自己实验,花了点时间就搞好,老样子,写在博客上,免得日后忘记. 博文中的代码:链接:h ...

  7. Eclipse+Maven创建web项目

    有时候我们想用eclipse+maven创建web项目,怎么操作呢,下面我来给大家来分享一下方法 所需工具 已经安装了maven插件的elipse 步骤 1.打开eclipse,右键new--othe ...

  8. Maven学习总结(七)——eclipse中使用Maven创建Web项目

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(七)--eclipse中使用Maven创建Web项目 一.创建Web项目 1.1 选择建立Maven Pr ...

  9. Eclipse+Maven创建webapp项目

    Eclipse+Maven创建webapp项目<一> 1.开启eclipse,右键new-->other,如下图找到maven project 2.选择maven project,显 ...

最新文章

  1. 新预训练模型CodeBERT出世,编程语言和自然语言都不在话下
  2. 图片二进制编码_python3从零学习-5.7.4、quopri编码与解码经过MIME转码打印数据
  3. 在 .NET Framework 4.0 的程序中使用 .NET Framework 2.0 的程序集
  4. Github【网站打不开 / 创建仓库 / 创建文件】
  5. 厉害!这位80后连发2篇Science!身处普通高校,告诉你科研不决取于平台
  6. 【数字图像处理】求包含白色点得最小凸多边形
  7. tfs 文件系统部署_使用SQL Server数据工具和使用自定义工作流文件的TFS部署到多个数据库
  8. 除了html 还有什么页面,HTML页面布局有哪些?
  9. android游戏开发的架构
  10. 中国十大电商网站优势与劣势分析
  11. 连接网络打印机报错0x000003e3
  12. 深度学习中 经常提到的 end to end 的理解
  13. Accumulation point
  14. VMWare的安装和虚拟机的新建
  15. Bootstrap4 之栅格系统
  16. 电压外环及电流内环的理解
  17. 局域网win10 主机之间相互共享文件的配置
  18. 超实用的IDEA插件推荐,百万级下载量
  19. 个人永久性免费-Excel催化剂功能第92波-地理地址与经纬度互转功能
  20. java获取word固定位置的值_java 实现保存Word文档中指定位置的数据,又保存整篇文档...

热门文章

  1. Linux当前终端走代理ip
  2. nginx ci index.php,CI在Nginx服务器上rewrite去掉index.php例子
  3. python做前端mongodb_Python爬虫之mongodb和python交互
  4. Spring入门-框架搭建
  5. 爬虫实现原理与实现技术
  6. 使用Beautifulsoup去除特定标签
  7. 剑指offer38 数字在排序数组中出现的次数
  8. 《构建之法》第八章自习感想与知识点
  9. Mysql基础知识:创建、查看、修改和删除表
  10. ARMs3c2440开发板挂接NFS服务