【java EE】IDEA 中创建或迁移 Spring 或 Java EE 项目的核心步骤和注意事项

以下是在 IDEA 中创建/迁移 Spring 或 Java EE 项目的核心步骤和注意事项,按"环境准备准备环境配置→项目创建/导入→依赖依赖依赖依赖管理→配置部署→常见问题"整理,方便参考:

文章目录

一、环境准备(必做)

  1. 安装并配置 JDK

    • 确保本地安装 JDK(推荐 8/11/24,注意项目依赖的 JDK 版本需匹配,如 Spring 5 支持 JDK 8+)。
    • 在 IDEA 中配置:File → Project Structure → SDKs → + → 添加本地 JDK 路径,并设置为"项目 SDK"。
  2. 配置 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 目录结构)。
    • 填写 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/)。

三、依赖管理(核心,避免"类找不到"错误)

  1. Maven 项目(推荐,自动管理依赖)

    • pom.xml 中添加依赖(如 SpringMVC、Servlet、数据库驱动),示例:

      xml 复制代码
      <!-- 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,或检查版本是否兼容。

  2. 手动导入 jar 包(非 Maven 项目)

    • 将 jar 包(如老师提供的 lib 文件夹)复制到 WEB-INF/lib 目录。
    • 关键:右键 lib → Add as Library → 选择 Project 级别,让 IDEA 识别依赖。

四、核心配置(项目运行的关键)

1. Spring 核心配置(applicationContext.xmlspringmvc.xml
  • 扫描注解:<context:component-scan base-package="com.example.controller"/>(指定包路径,确保 @Controller 等注解生效)。

  • 视图解析器(SpringMVC 必备,定位 JSP 页面):

    xml 复制代码
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="prefix" value="/WEB-INF/studentpages/"/> <!-- JSP 所在目录 -->
        <property name="suffix" value=".jsp"/>
    </bean>
  • 静态资源放行(若 web.xmlDispatcherServlet 映射为 /):

    xml 复制代码
    <mvc:default-servlet-handler/>
    <mvc:annotation-driven/>
2. Web 配置(web.xml
  • 配置 SpringMVC 前端控制器 DispatcherServlet

    xml 复制代码
    <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 等错误)

  1. 配置 Tomcat 部署

    • Run → Edit Configurations → 选中 Tomcat → Deployment → + → Artifact,选择项目的 war exploded 工件(若没有,需先在 Project Structure → Artifacts 中生成)。
    • 设置 Application context(访问路径,如 /springmvc,建议简洁)。
  2. 启动与访问

    • 点击运行按钮,确保控制台无报错(如 Server started 提示)。
    • 访问路径规则:http://localhost:端口号/Application context/控制器路径
      示例:控制器方法 @RequestMapping("/welcome") → 访问 http://localhost:8080/springmvc/welcome

六、常见问题与解决方案

  1. "程序包不存在""找不到符号"

    • 原因:依赖未识别。解决:Maven 项目 Reload Project;手动导入的 jar 包 Add as Library
  2. 404 错误

    • 检查访问路径是否与 Application context + 控制器路径匹配。
    • 确认 WebContent/webapp 已标记为"Web Resources Root",JSP 页面路径正确。
    • 检查 springmvc.xml 视图解析器的 prefix 是否指向 JSP 所在目录。
  3. 端口冲突(如 8080、1099 被占用)

    • 命令行终止进程:netstat -ano | findstr "端口号" 找到 PID,再 taskkill /F /PID 进程号
    • 或在 Tomcat 配置中修改端口(如 HTTP port 改为 8081,JMX port 改为 1100)。
  4. 项目未识别为 Web 应用

    • 解决:Project Structure → Modules → Facets → + → Web,关联 web.xml 和 Web 资源目录,再生成 war exploded 工件。

总结

核心流程:环境配置(JDK+Tomcat)→ 项目结构规范 → 依赖正确引入 → 配置文件(Spring+Web)无误 → 部署路径匹配。遇到问题优先看控制台报错信息,多数问题集中在"依赖未识别""路径不匹配""配置缺失"三类,按步骤排查即可快速解决~

相关推荐
uzong12 小时前
Mermaid: AI 时代画图的魔法工具
后端·架构
q***697712 小时前
Spring Boot与MyBatis
spring boot·后端·mybatis
IUGEI13 小时前
synchronized的工作机制是怎样的?深入解析synchronized底层原理
java·开发语言·后端·c#
间彧14 小时前
GraalVM Native Image:跨平台能力与编译模式深度解析
后端
间彧14 小时前
GraalVM Native Image 与传统 JVM 内存管理:云原生时代的技术选型指南
后端
r***123814 小时前
SpringBoot最佳实践之 - 使用AOP记录操作日志
java·spring boot·后端
b***748814 小时前
前端GraphQL案例
前端·后端·graphql
daidaidaiyu14 小时前
Spring IOC 源码学习一 基本姿势
java·spring
间彧14 小时前
Spring AOT + GraalVM Native Image:云原生Java的效能引擎
spring
LSL666_14 小时前
SpringBoot自动配置类
java·spring boot·后端·自动配置类