当前位置: 首页 > news >正文

IDEA 新建web工程实战

IDEA 新建webapp项目实战

一、maven 安装配置

省略

二、新建项目

接下来我们构建一个Maven的Web工程:

1.打开 idea,选择创建一个新工程

2.选择Maven工程,并使用maven的web工程模板

3.手动添加src/main/java目录,此时该目录还不能写Java代码

4.配置文件夹
如果main下的java文件夹里不能用写java文件
那么就右击文件夹,在最下方选择“Sources Root”,就可以写java文件了

test中的文件夹一般是会自动配置为测试文件夹

三、pom配置

简单来说他的作用:pom.xml 是 Maven 项目的 “说明书”,用来写清楚项目要啥依赖、怎么打包,让大家按统一规矩干活,避免版本混乱和重复操作。

properties中定义一些配置信息

<properties><!-- 编码格式 --><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><!-- 编译时使用的JAVA版本 --><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target></properties>

dependencies中定义依赖的jar包坐标
因为javaweb项目,所以要用到servlet 和 jsp的jar包,因此就要这两个的坐标由于项目是web项目,需要写Servlet和JSP,所以需要引入Servlet和JSP的依赖。
查找依赖坐标的网站:https://mvnrepository.com/

<!-- servlet依赖 --><dependency><!-- 项目组名 --><groupId>javax.servlet</groupId><!-- 项目名 --><artifactId>javax.servlet-api</artifactId><version>3.0.1</version><!-- 作用范围后面需要加,依赖冲突 --><scope>provided</scope></dependency><!-- jsp依赖 --><dependency><groupId>javax.servlet.jsp</groupId><artifactId>jsp-api</artifactId><version>2.2</version><scope>provided</scope></dependency>

插入指定坐标后就可以通过刷新maven 查看到、

为什么之前的web项目中没有引入jsp和servlet的jar包?

因为之前项目中使用的是tomcat中的jsp和servlet中的jar包,在项目中没有引入 我们会用Tomcat插件,而不是完整的Tomcat

plugins 中定义第三方插件

放在下web项目依赖tomcat运行,
所以添加 tomcat7插件 —> 在 maven 中刷新,就会自动下载Tomcat插件了

<build><finalName>web-test</finalName><plugins><!-- tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.1</version><configuration><port>8080</port><path>/</path><uriEncoding>UTF-8</uriEncoding><server>tomcat7</server></configuration></plugin></plugins></build>

四、编写代码

@WebServlet("/demo1")publicclassMyServletextendsHttpServlet{@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{// 跳转页面req.getRequestDispatcher("test.jsp").forward(req,resp);}}
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <h1> hhhhhh 我是王兰亭</h1> </body> </html>

五、构建

六、依赖范围问题

上面的运行后,在浏览器访问servlet时,发现报500异常,这是为什么呢?

这是由于项目中引入了 Servlet 和 Jsp 的jar包而在项目运行时,Tomcat要使用它自带的Servlet和Jsp的jar包,这样就造成了jar包冲突但如果项目不引入 Servlet 和 Jsp 的 jar 包,则根本无法通过编译。
此时可以设置依赖的作用范围解决该问题,设置Servlet和Jsp的jar包只在编译期起作用,运行时不起作用,这样不仅可以通过编译,还能在运行时避免jar包冲突。
通过在 dependency 中添加 scope ,可以设置依赖的作用范围,有以下取值:

七、测试

: http://localhost:8080/demo1

八、测试代码

链接: https://gitee.com/wltsy/web-test

http://www.jsqmd.com/news/526684/

相关文章:

  • 第一次降AI率不知道用什么?比话可能是最适合新手的选择
  • Qwen2.5-VL-7B-Instruct图文对话:支持多轮图片上下文+历史记忆回溯
  • AI原生城市服务平台:不是加个AI插件,而是城市服务的“原生进化”
  • Step3-VL-10B-Base模型管理实战:MySQL数据库存储元数据与推理记录
  • 拓朋A30模拟对讲机:乐园票务的“沟通小能手”
  • nfs 实际应用记录
  • RexUniNLU从零开始:DeBERTa中文语义理解系统环境部署全流程
  • Win10下高效统计代码行数:CLOC工具一键安装与实战指南
  • FFmpeg+NVIDIA硬编解码实战:从驱动安装到CUDA加速全流程指南
  • PX4与ESP8266无线数传配置实战:从固件烧录到QGC连接
  • YOLOv8训练踩坑实录:修改Ultralytics库源码,彻底告别自动下载yolov11.pt
  • 实测Qwen-Image-Edit-2511:换装效果惊艳,角色一致性太强了
  • GLM-OCR识别结果后处理技巧:基于规则与NLP纠错提升准确率
  • 人脸识别OOD模型部署指南:基于Docker的容器化部署
  • OpenClaw调试技巧:Qwen3.5-4B-Claude模型任务中断点设置
  • 告别Transformer!用PyTorch从零实现MLP-Mixer图像分类(附完整代码与避坑指南)
  • Gstreamer中MP4/FLV推流RTP的编码陷阱:为何必须解码再编码?
  • SEER‘S EYE预言家之眼自动化测试:构建模型推理服务的CI流水线
  • SpringBoot 配置 HTTPS(自签名证书+正式证书)
  • 保姆级教程:用Ubuntu系统给BPI-R4开发板刷机的完整流程(含跳线设置图解)
  • Comsol锁相热成像模型:探索与实践
  • BC范式(BCNF)学习
  • 零代码玩转mPLUG视觉问答:本地图片分析工具部署
  • GEO 优化服务商 2026 新观察:TOP5 服务商创新方向与服务升级
  • 水墨江南模型C语言基础调用示例:轻量级嵌入式集成探索
  • 盛思锐SEN66 - 关于环境监测类传感器的久远回忆(跑题)
  • 一篇文章入门机器学习与PyTorch张量
  • 2026现浇楼板公司分析靠前推荐,品质有保障,现浇别墅搭建/阁楼现浇/现浇搭建/现浇二次结构,现浇楼板公司哪家好分析 - 品牌推荐师
  • 从夯到拉,锐评5大主流消息队列
  • 最近爆火的全中文LLM教程!!非常详细收藏我这一篇就够了+