【java EE】IDEA 中创建或迁移 Spring 或 Java EE 项目的核心步骤和注意事项
以下是在 IDEA 中创建/迁移 Spring 或 Java EE 项目的核心步骤和注意事项,按“环境准备准备环境配置→项目创建/导入→依赖依赖依赖依赖管理→配置部署→常见问题”整理,方便参考:
文章目录
- **一、环境准备(必做)**
- **二、项目创建/导入核心步骤**
- **1. 新建 Spring/Java EE 项目**
- **2. 项目结构规范(避免后续混乱)**
- **三、依赖管理(核心,避免“类找不到”错误)**
- **四、核心配置(项目运行的关键)**
- **1. Spring 核心配置(`applicationContext.xml` 或 `springmvc.xml`)**
- **2. Web 配置(`web.xml`)**
- **五、部署与运行(避免 404 等错误)**
- **六、常见问题与解决方案**
- **总结**
一、环境准备(必做)
-
安装并配置 JDK
- 确保本地安装 JDK(推荐 8/11/24,注意项目依赖的 JDK 版本需匹配,如 Spring 5 支持 JDK 8+)。
- 在 IDEA 中配置:
File → Project Structure → SDKs → + → 添加本地 JDK 路径,并设置为“项目 SDK”。
-
配置 Tomcat(Web 项目必备)
- 下载 Tomcat(版本与项目兼容,如 Tomcat 9 适配多数 Java EE 项目)。
- 在 IDEA 中添加:
Run → Edit Configurations → + → Tomcat Server → Local → 配置 Tomcat 安装目录,测试启动是否正常(避免端口冲突:默认 8080,冲突可改 8081 等)。
二、项目创建/导入核心步骤
1. 新建 Spring/Java EE 项目
-
方式 1:Maven 骨架创建(推荐)
File → New → Project → Maven → 勾选 Create from archetype:- 普通 Spring 项目:选
maven-archetype-quickstart(基础 Java 项目)。 - Web 项目(含 SpringMVC):选
maven-archetype-webapp(自动生成 Web 目录结构)。
- 普通 Spring 项目:选
- 填写 GroupId(如
com.example)、ArtifactId(项目名),完成创建后,在pom.xml中添加依赖(Spring、Servlet 等)。
-
方式 2:导入 Eclipse 项目
File → Open → 选择项目根目录(含 .project 或 .classpath),按提示导入。- 关键:导入后需手动确认目录结构(如
WebContent标记为“Web Resources Root”,src/main/java标记为“Sources Root”)。
2. 项目结构规范(避免后续混乱)
-
非 Web 项目(纯 Spring):
src/main/java:存放 Java 代码(如main类、Service、Dao)。src/main/resources:存放配置文件(如applicationContext.xml)。
-
Web 项目(SpringMVC/Java EE):
- 核心目录:
src/main/webapp(或 Eclipse 迁移的WebContent)→ 作为 Web 根目录,包含:- 静态资源(JSP、CSS、JS 等)。
WEB-INF文件夹:存放web.xml(Servlet 配置)、lib(依赖 jar 包)、私有页面(如studentpages/)。
- 核心目录:
三、依赖管理(核心,避免“类找不到”错误)
-
Maven 项目(推荐,自动管理依赖)
-
在
pom.xml中添加依赖(如 SpringMVC、Servlet、数据库驱动),示例:<!-- SpringMVC 核心依赖 --> <dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.22</version> </dependency> <!-- Servlet API --> <dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope> <!-- 由 Tomcat 提供,避免冲突 --> </dependency> -
依赖报错:右键
pom.xml → Maven → Reload Project,或检查版本是否兼容。
-
-
手动导入 jar 包(非 Maven 项目)
- 将 jar 包(如老师提供的
lib文件夹)复制到WEB-INF/lib目录。 - 关键:右键
lib → Add as Library → 选择 Project 级别,让 IDEA 识别依赖。
- 将 jar 包(如老师提供的
四、核心配置(项目运行的关键)
1. Spring 核心配置(applicationContext.xml 或 springmvc.xml)
-
扫描注解:
<context:component-scan base-package="com.example.controller"/>(指定包路径,确保@Controller等注解生效)。 -
视图解析器(SpringMVC 必备,定位 JSP 页面):
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/studentpages/"/> <!-- JSP 所在目录 --><property name="suffix" value=".jsp"/> </bean> -
静态资源放行(若
web.xml中DispatcherServlet映射为/):<mvc:default-servlet-handler/> <mvc:annotation-driven/>
2. Web 配置(web.xml)
-
配置 SpringMVC 前端控制器
DispatcherServlet:<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.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>
五、部署与运行(避免 404 等错误)
-
配置 Tomcat 部署
Run → Edit Configurations → 选中 Tomcat → Deployment → + → Artifact,选择项目的war exploded工件(若没有,需先在Project Structure → Artifacts中生成)。- 设置
Application context(访问路径,如/springmvc,建议简洁)。
-
启动与访问
- 点击运行按钮,确保控制台无报错(如
Server started提示)。 - 访问路径规则:
http://localhost:端口号/Application context/控制器路径
示例:控制器方法@RequestMapping("/welcome")→ 访问http://localhost:8080/springmvc/welcome。
- 点击运行按钮,确保控制台无报错(如
六、常见问题与解决方案
-
“程序包不存在”“找不到符号”
- 原因:依赖未识别。解决:Maven 项目
Reload Project;手动导入的 jar 包Add as Library。
- 原因:依赖未识别。解决:Maven 项目
-
404 错误
- 检查访问路径是否与
Application context+ 控制器路径匹配。 - 确认
WebContent/webapp已标记为“Web Resources Root”,JSP 页面路径正确。 - 检查
springmvc.xml视图解析器的prefix是否指向 JSP 所在目录。
- 检查访问路径是否与
-
端口冲突(如 8080、1099 被占用)
- 命令行终止进程:
netstat -ano | findstr "端口号"找到 PID,再taskkill /F /PID 进程号。 - 或在 Tomcat 配置中修改端口(如
HTTP port改为 8081,JMX port改为 1100)。
- 命令行终止进程:
-
项目未识别为 Web 应用
- 解决:
Project Structure → Modules → Facets → + → Web,关联web.xml和 Web 资源目录,再生成war exploded工件。
- 解决:
总结
核心流程:环境配置(JDK+Tomcat)→ 项目结构规范 → 依赖正确引入 → 配置文件(Spring+Web)无误 → 部署路径匹配。遇到问题优先看控制台报错信息,多数问题集中在“依赖未识别”“路径不匹配”“配置缺失”三类,按步骤排查即可快速解决~
