【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)无误 → 部署路径匹配。遇到问题优先看控制台报错信息,多数问题集中在"依赖未识别""路径不匹配""配置缺失"三类,按步骤排查即可快速解决~

相关推荐
大鱼七成饱4 小时前
💥 从崩溃到稳定:我踩过的 Rust Tokio 线程池坑(含代码示例)
后端
喵个咪4 小时前
开箱即用的GO后台管理系统 Kratos Admin - 站内信
后端·微服务·go
钱多多_qdd4 小时前
基础篇:IoC(三):Bean实例化策略InstantiationStrategy
java·spring
韩立学长4 小时前
基于Springboot的旧物公益捐赠管理系统3726v22v(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
Dyan_csdn5 小时前
springboot系统设计选题3
java·spring boot·后端
Aesopcmc5 小时前
Maven打包时指定输出路径、以时间戳命名包名和路径名,结合IDEA以指令脚本方式动态配置输出目录
java·自动化·maven·intellij-idea
Yeats_Liao5 小时前
时序数据库系列(二):InfluxDB安装配置从零搭建
数据库·后端·时序数据库
Yeats_Liao5 小时前
时序数据库系列(一):InfluxDB入门指南核心概念详解
数据库·后端·时序数据库·db
蓝-萧6 小时前
springboot系列--自动配置原理
java·后端