Intellij IDEA 旗舰版创建 Spring MVC 项目踩过的坑

 更新时间:2020年03月13日 10:15:45   作者:Luquan  
IDEA旗舰版可以直接创建Spring MVC项目,但创建后的项目并不是直接就可以运行,还需要进行一些配置。这篇文章主要介绍了Intellij IDEA 旗舰版创建 Spring MVC 项目踩坑记 ,需要的朋友可以参考下

学生可以申请Intellij IDEA旗舰版免费试用!我终于可以暂时不用折腾社区版啦啦啦啦啦!!!

IDEA旗舰版可以直接创建Spring MVC项目,但创建后的项目并不是直接就可以运行,还需要进行一些配置。

一、创建项目

打开Intellij IDEA,创建项目(CreateNewProject);

在左边选择 “Spring”,然后右边勾选“Spring MVC”,下面的“WebApplication”应该会自动勾选,如果没有,则手动勾选上;

下面保持默认选项“Download”就可以,点击“Next”;

输入项目名称(Projectname),比如这里我是“SpringMVCTest”,其他不用管,点击“Finish”;

等待 IDEA下载完响应的包;

我们得到一个初始的项目结构:

此时我们按快捷键Ctrl+Alt+Shift+S,打开项目结构(ProjectStructure),可以看到有两个Problems,点击“Problems”,并在右边点击任意一个蓝色的“[Fix]”,在子菜单中选择“Addallmisssingdependenciesof 'XXX'totheartifact”,点击“OK”。

这样,在编译运行的时候,就会在“项目文件夹\out\artifacts\项目名_war_explodedlib\WEB-INF”中也建立一个lib文件夹,并把相关的包给复制过去。

二、配置Tomcat

点击右上角的“AddConfiguration...”

点击右上角的加号,在菜单中选择“TomcatServer”,并在子菜单中选择“Local”;

修改“Name”,比如这里是“Tomcat 9”;

指定Tomcat目录(Applicationserver);

在“Afterlaunch”中选择默认打开的浏览器;

可以看到下面有一个“Warning”,直接点击右边的“Fix”;

接着自动跳到“Deployment”,并自动添加了“XXX:warexploded”;

为了方便,我们将下面的应用上下文改成项目名就好(比如这里的“/SpringMVCTest”),Server选项卡这边的“URL”也会自动变成“http://localhost:8080/应用上下文”的形式(比如这里会变成“http://localhost:8080/SpringMVCTest”)。点击“OK”。

此时,点击右上角的绿色三角形运行项目;

在启动Tomcat之后,IDEA会自动启动浏览器打开“http://localhost:8080/SpringMVCTest”,显示的就是web文件夹下的index.jsp了。

三、配置 View Resolver 和Controller

1、导入jstl包

下载地址:

https://search.maven.org/remotecontent?filepath=javax/servlet/jsp/jstl/javax.servlet.jsp.jstl-api/1.2.2/javax.servlet.jsp.jstl-api-1.2.2.jar

下载后复制到项目中的 lib文件夹中;

再次打开ProjectStructure,点击“Modules”,在中间选中项目,在右边点击加号,选择第一项“1 JARs ordirectories...”;

选择我们刚复制进去的lib文件夹中的jar包,点击“OK”;

然后Problems提示又出问题了,点击“Problems”,点击右边蓝色的“[Fix]”,在子菜单中选择“Add 'javax.servlet.jsp.jstl-api-1.2.2.jar' to theartifact”,点击“OK”。

2、新建jsp页面

在web\WEB-INF文件夹中新建一个文件夹,命名为“jsp”,并在其中新建一个jsp文件,命名为“test.jsp”,如图:

3、新建控制器类

在 src文件夹中创建包,包名为“域名倒序+项目名+controller”格式,比如我的域名是“zhouxy.xyz”,这个项目名称为“SpringMVCTest”,所以我这里包名为“xyz.zhouxy.springmvctest.controller”(其实最好应该是“xyz.zhouxy.springmvc.test.controller”)。

在里面创建一个Java类,我这里类名为“MyController”,如图,为类加上 @Controller注释,在类中创建一个方法,用 @RequestMapping("/test"),将 “/test” 和该方法绑定。方法返回字符串 "test"。

4、修改配置文件

打开web.xml,将org.springframework.web.servlet.DispatcherServlet对应的映射改成 “/”,使之响应所有访问本web应用的 url(即响应“http://localhost:8080/SpringMVCTest/”,不论后面加了什么)。如图:

这里默认servlet-name为“dispatcher”,相应的Servlet的配置文件名为“dispatcher-servlet.xml”。如果你修改了,那么文件名则应该响应地修改为“XXX-servlet.xml”形式。我这里不作修改。

打开 dispatcher-servlet.xml,修改为如图所示:

注意,其中<context:component-scan />元素的base-package属性值是我们的 controller 包的完整包名,如果你的包名和我不一样,注意修改以保持一致。

下面的View Resolver,将在控制器类中的方法返回字符串 "test"时,自动在其前面和后面分别加上“/WEB-INF/jsp/”和“.jsp”,使之成为“/WEB-INF/jsp/test.jsp”。

再次运行项目,浏览器像之前一样打开了“http://localhost:8080/SpringMVCTest/”,我们在其后面输入“test”,Dispatcher会在<context:component-scan />元素所指定的包中查找带 @Controller注释的类,并在其中找到带 @RequestMapping("/test") 注释的请求处理方法,然后执行。如上所述,我们的方法返回了字符串 "test",由View Resolver “加工”成“/WEB-INF/pages/test.jsp”,返回给Spring的org.springframework.web.servlet.DispatcherServlet对象,也就是web.xml中配置的dispatcher,由它去跳转到“/WEB-INF/pages/test.jsp”页面。

总结

到此这篇关于Intellij IDEA 旗舰版创建 Spring MVC 项目踩坑记的文章就介绍到这了,更多相关Intellij IDEA 旗舰版创建 Spring MVC 项目 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot上传文件过大的500异常解决

    springboot上传文件过大的500异常解决

    这篇文章主要介绍了springboot上传文件过大的500异常解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • 详解Java的线程的优先级以及死锁

    详解Java的线程的优先级以及死锁

    这篇文章主要介绍了详解Java的线程的优先级以及死锁,线程是Java编程学习中的重要知识,需要的朋友可以参考下
    2015-09-09
  • MyBatis批量插入的五种方式

    MyBatis批量插入的五种方式

    这篇文章主要介绍了MyBatis批量插入的五种方式,每种方式结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-11-11
  • 利用java操作Excel文件的方法

    利用java操作Excel文件的方法

    以下是对利用java操作Excel文件的方法进行了详细的介绍,需要的朋友可以过来参考下
    2013-09-09
  • SpringBoot2.x实现给Controller的RequestMapping添加统一前缀

    SpringBoot2.x实现给Controller的RequestMapping添加统一前缀

    这篇文章主要介绍了SpringBoot2.x实现给Controller的RequestMapping添加统一前缀,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • Spring Cloud负载均衡组件Ribbon原理解析

    Spring Cloud负载均衡组件Ribbon原理解析

    本文主要讲述了微服务体系下的 Spring Cloud Netflix 套件中 Ribbon 的使用,并结合部分源码讲述了 Ribbon 的底层原理,重点讲述了 Ribbon 中是如何获取服务以及如何判定一个服务是否可用,最后也介绍了 Ribbon 中默认提供的 7 种负载均衡策略,感兴趣的朋友一起看看吧
    2022-04-04
  • SpringBoot配置Access-Control-Allow-Origin教程

    SpringBoot配置Access-Control-Allow-Origin教程

    文章介绍了三种配置Spring Boot跨域访问的方法:1. 使用过滤器;2. 在WebConfig配置文件中设置;3. 通过注解配置,作者分享了个人经验,并鼓励读者支持脚本之家
    2025-03-03
  • 如何实现Java线程安全问题

    如何实现Java线程安全问题

    这篇文章主要介绍了如何实现Java线程安全问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • JAVA如何自动下载SSL证书并导入到本地

    JAVA如何自动下载SSL证书并导入到本地

    这篇文章主要介绍了JAVA如何自动下载SSL证书并导入到本地问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • SpringMVC中Json数据交互处理示例详解

    SpringMVC中Json数据交互处理示例详解

    这篇文章主要介绍了SpringMVC中Json数据交互处理的相关资料,分别讲解了JSON的基本概念、构成要素、数据类型、对象和数组的表示方法、字符串的转义规则以及JSON与JavaScript的关系,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-03-03

最新评论