Administrator
发布于 2023-12-19 / 50 阅读
0
0

Servlet、SpringMVC(非 Maven) 本地环境搭建

前言

最近接到任务,需要接入 paypal 支付,于是在官网上下载到了 Java 版本的 Demo(下载地址:https://demo.paypal.com/c2/demo/code_samples 使用PayPal Credit结账一栏找到 Java,点击下载),打算本地运行调试一下。因为是老的servlet项目且上次写还是5年前刚入门的时候,心里也是忐忑怕跑不起来。果然,怕什么来什么,一导入到 IDEA 就各种报错,各种配置一番折腾之后总算跑起来了。特此记录下正确的导入、运行姿势,以备日后遗忘后可以翻看。

参考:https://www.bilibili.com/video/BV1oV4y1b7Ga/

二、项目情况(前期准备)

如下截图,下载的项目一般文件都比较多,我们只需要保留我们要用到的文件。

方式一(推荐)

打开 idea,选择导入项目

三、导入及项目配置

导入方式一,使用 Idea 的导入项目(推荐)

打开 idea,选择导入项目,选择我们需要导入的项目。

导入步骤:基本一直下一步即可。

注意:导入步骤 finish后,进入到项目可能会遇到的情况:项目报错,提示找不到 servlet 的包。项目是 tomcat 下运行的,tomcat-lib 是自带 servlet 包的,包名:servlet-api.jar。我们只需 tomcat-lib 引入进入即可,报错如下图,引入方法请看后面的2、引入 tomcat-lib

1、ctrl + shift + alt + s,调出 project stucture 页面。
2、引入 tomcat-lib(可选)

找到 module,添加,选择 Library,选择 Tomcat。

3、设置 Artifacts(打包相关,决定了编译后的位置,后续 tomcat 运行需要指定此处创建的 Artifacts)

4、Module 添加 Spring 框架(可选)

注意,这一步是可选,不是 Spring 项目忽略此项,即使是 Spring 项目不配置这一项也不影响运行。

配置之后,可以在 Idea 底部 Spring一栏看到项目有什么 Bean 之类的信息。

导入方式二,使用 Idea 的打开项目(全部手动配置)

此方法相当于,将第一种自动配置的所有设置通过手动的方式一一配置。不推荐,但是这个方法对 Idea 做了什么、配置项有什么会有更深入的认识,推荐配置一次熟悉熟悉。一般maven项目直接打开,idea就会帮我们配置好,但是传统的项目就没有这种待遇了。

1、配置 project

2、配置 module

3、配置 lib

4、配置 artifacts

第二步点击fix 之后就会自动创建artifact了。而第三步创建完lib之后,这个页面底部会有一个将lib加入artifactfix,点击fix即可。

5、Module 添加 Spring 框架(可选)

参考导入方式一。

6、导入 tomcat-lib(可选)

出现了servlet依赖缺失的错误,参考导入方式一。

四、运行 - 配置 tomcat

1、创建 tomcat

2、指定 artifacts(方式有两种,看截图)

3、设置 Application Context 为 ”/“ ,请看指定 artifacts 方式二的截图

4、优化

设置 - 更新类或资源文件自动 reload

五、其他

1、遇到如下异常,日志刷屏 Spring 创建 Bean 都失败了

 nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [/WEB-INF/mybatis-mapper/**/*.xml]: ServletContext resource [/WEB-INF/mybatis-mapper/] cannot be resolved to URL because it does not exist

原因:sqlSessionFactory Bean 配置中指定了参数mapperLocations 的值为/WEB-INF/mybatis-mapper/** ,但是这个目录mybatis-mapper是空的,编译的时候空目录忽略掉,导致运行的时候找不到该目录,最终导致启动失败。

解决办法:1、在编译后的目录下创建目录mybatis-mapper 2、空目录随便放一个文件进去,编译后就会存在。


评论