使用IDEA开发Java Web项目

news2024/9/22 3:27:26

下载Tomcat

首先,下载Apache Tomcat并解压到本地计算机,可存放于任何位置。

另外,需要在系统中环境JRE_HOME环境变量,以保证Tomcat可以正常启动,具体配置方式请参考其它教程。

在这里插入图片描述

创建Java Web项目

在IntelliJ IDEA的欢迎主界面中,点击Create New Project:

在这里插入图片描述

在New Project对话框的左侧选择Java Enterprice,在右侧确保Project SDK是1.8版本,Java EE version为Java EE 8(也可以是略低的其它版本):
在这里插入图片描述

由于是第1次使用,尚未配置Tomcat,需要点击Application Server右侧的New按钮,并在弹出的菜单中选择Tomcat Server:
在这里插入图片描述

在弹出的Tomcat Server对话框中,在Tomcat Home栏浏览到第1步下载的Tomcat目录,并点击OK:

在这里插入图片描述

回到New Project对话框,在Additional Libraries and Frameworks的列表中,勾选Web Application (4.0),然后点击Next到下一步:

在这里插入图片描述

填写项目名称,并确保保存项目的文件夹路径无误后,即可点击Finish按钮,以完成创建项目:

在这里插入图片描述

启动项目

相比普通的Java项目,在Java EE项目结构中多了一个web文件夹,相当于使用Eclipse时在项目中看到的webapp文件夹,在web文件夹下有WEB-INF子文件夹和index.jsp文件,并且,在WEB-INF文件夹下还有web.xml文件:

在这里插入图片描述

打开index.jsp文件,该文件目前只有最基础的文件结构:

在这里插入图片描述

可以自行修改标题文字及页面中显示的内容,具体修改方式可完全参考HTML语法:

在这里插入图片描述

点击窗口右上角的“运行”按钮,即可将当前项目部署到Tomcat并运行:

在这里插入图片描述

运行成功后,会自动打开浏览器,并显示index.jsp页面所设置的内容:

在这里插入图片描述

由于index.jsp是默认页面,所以,在浏览器的URL中并不需要显式的添加该文件的名称,如果添加了,显示的效果也是完全相同的:
在这里插入图片描述

修改项目的Context Path

刚才启动项目时,会自动打开浏览器并访问项目的页面,是项目的启动设置中的配置决定的,点击IntelliJ IDEA的Run菜单的Edit Configurations即可打开启动设置:

在这里插入图片描述

在设置面板中,有Open Browser(打开浏览器)设置项,在下方默认勾选了After launch(启动之后)、所使用的浏览器,及打开浏览器后访问的URL:
在这里插入图片描述

如果需要修改项目的Context Path,展开项目结构中的.idea,打开workspace.xml文件,在该文件的第26行(因版本差异可能行号不同)就是Context Path值的配置:

在这里插入图片描述

可自行修改该属性的值:

在这里插入图片描述

修改后,当项目再次运行时,如果还按照原有的URL进行访问肯定是错误的,所以,应该回到启动设置中,将打开浏览器后自动访问的URL修改为与新的Context Path值匹配的URL:

在这里插入图片描述

当启动设置也修改完成后,重新启动Tomcat,当启动成功后,仍会自动打开浏览器,可以看到此次访问的就是修改后的URL,并且可以正常访问到index.jsp:
在这里插入图片描述

通过Servlet组件转发JSP

在Java EE项目中,使用Servlet组件转发JSP是非常常见的做法,首先,对项目的src点击鼠标右键,依赖选择New > Create New Servlet即可开始创建Servlet组件:
在这里插入图片描述

在弹出的New Servlet对话框中,自行填写Servlet Name与Package,完成后点击OK即可:
在这里插入图片描述

创建成功后,会自动打开所创建的Servlet类,首先,在@WebServlet注解参数中,增加配置urlPatterns属性,以指定访问该Servlet组件的资源名(注意:该属性值需要使用 / 作为第1个字符):

在这里插入图片描述

默认情况下,当前Servlet中已经生成了重写的doPost与doGet方法,由于本次只是简单的访问即可,客户端提交请求的方式应该是GET类型,则不需要doPost方法,删掉即可,如果允许使用POST方式访问,且与GET方式相同的处理模式,则在doPost方法中直接调用doGet方法即可:
在这里插入图片描述

在实现转发时,需要一个JSP页面文件,通常,会将JSP文件保存到WEB-INF的某个子级文件夹中,避免JSP文件被直接访问!对WEB-INF文件夹点击鼠标右键,依次选择New > Directory以创建用于存放JSP文件的文件夹:
在这里插入图片描述

在弹出的New Directory对话框中输入文件夹的名称并回车:

在这里插入图片描述

对新创建的文件夹点击鼠标右键,依赖选择New > JSP/JSPX以创建JSP文件:

在这里插入图片描述

在弹出的Create JSP/JSPX page对话框中输入文件名(不需要输入扩展名)并回车:
在这里插入图片描述

然后,自行设计JSP文件的内容,例如:

在这里插入图片描述

回到Servlet类的doGet方法中,添加转发JSP的代码,例如:

request.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(request, response);

如下图所示:

在这里插入图片描述

完成后,再次重新启动项目,在URL的Context Path值的右侧添加hello(Servlet组件配置的urlPatterns值)即可看到Servlet转发的JSP文件显示的内容:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2058704.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Swift 数据类型之可选值类型(Optional)详解

😄作者简介: 小曾同学.com,一个致力于测试开发的博主⛽️,主要职责:测试开发、CI/CD 如果文章知识点有错误的地方,还请大家指正,让我们一起学习,一起进步。 😊 座右铭:不…

其实很多数据资产平台建设,没有抓住本质

其实很多企业都有建设所谓的数据资产管理平台,但本质没有抓住,叫数据管理平台可能更为贴切。原因就是大部分企业谈数据资产,都是泛泛而谈,什么是数据资产都没有弄明白,就先把功能开发好,设计出来。这种本末…

《黑神话·悟空》提高了多少游戏人的热情

《黑神话:悟空》的发布极大地提振了游戏人的热情,不管是国内游戏的带动,还是全球国产游戏的崛起,开启了国产3A游戏元年,下面我从主要两个大点来分析下。 玩家层面: 高度热情加强力追捧:从 202…

如何在算家云搭建模型MimicMotion(运动模仿)

MimicMotion (运动模仿)是具有置信感知姿势指导的高质量人体运动视频生成模型。只需要上传一张人物照片,然后再上传一段人物的舞蹈或者动作视频,就可以生成以照片中人物为原型的动作或者舞蹈视频。它可以在任何运动引导下生成任意…

采用先进的人工智能视觉分析技术,能够精确识别和分析,提供科学、精准的数据支持的智慧物流开源了。

智慧物流视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本可通过边缘计算技术…

环网交换机的特殊作用是什么?

环网交换机作为现代网络建设的重要组成部分,具有独特而特殊的作用。在信息技术迅猛发展的今天,各类数据传输和网络连接需求日益增加,环网交换机的出现为解决这些问题提供了理想的方案。环网交换机通常将多个网络节点通过环形结构连接起来&…

Redis7基础篇(九)

springboot集成redis 目录 springboot集成redis 总体概述 java连接redis常见问题 集成jedis 集成lettuce 集成redistemplate 连接单机 ​编辑​编辑​编辑redis集群 总体概述 java要想连接mysql的话需要jdbc java想要连接redis也需要中间件 jedis是第一代 lettuce第…

python-纸牌游戏(赛氪OJ)

[题目描述] 今天你与你的挚友玩一种纸牌游戏,每一回合两人各出一张牌,如果你的牌点数大小比对方小,则你不得分,否则你的得分为两张卡牌点数差值的绝对值。 由于你有读心术,你已经知道了对方接下来要出的 n 张牌,a1​,a2​,a3​...an​。你手上…

排序问题记录-杂记

倒叙整数溢出导致没有严格按照顺序排序 实例 输出 没有按照实际大小倒排 可以替换其他方法 比如: (1)list.sort((o1, o2) -> Integer.compare(o2.getUserId(), o1.getUserId())); (2)list.sort(Comparator.comp…

Java Web —— 第七天(Mybatis案例 部门管理)

环境搭建 准备数据库表(dept、emp) -- 部门管理 create table dept(id int unsigned primary key auto_increment comment 主键ID,name varchar(10) not null unique comment 部门名称,create_time datetime not null comment 创建时间,update_time datetime not null commen…

网络分层(基础概念)

网络互连模型: OSI 参考模型 1.物理层 2.数据链路层 3.网络层 4.运输层5.会话层6.表示层7.应用层 TCP/IP协议: 1.网络接口层 2.网际层 3.运输层 4.应用层 1,物理层 定义接口标准、结缆标准、传输速率、传输方式等。 信道 信息传输的通道,一条传输介质上可以有…

武汉流星汇聚:体育热潮驱动市场新高峰,体育用品迎来发展黄金期

在全球体育产业的蓬勃发展中,法国作为体育大国,其深厚的体育文化底蕴和广泛的运动普及度,为体育用品市场注入了源源不断的活力。随着足球、徒步、网球等运动的持续升温,以及国际体育赛事如奥运会的临近,体育用品市场正…

量子加密算法:保障信息安全的新利器

随着信息技术的飞速发展,信息安全问题日益凸显。量子加密算法作为一种新型加密技术,以其独特的优势逐渐成为保障信息安全的重要手段。本文将简要介绍量子加密算法的原理、特点及其在我国的应用前景。 一、量子加密算法的原理 量子加密算法是基于量子力学…

Graphpad Prism for Mac 医学绘图软件教程

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件,将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功 三、运行测试安装完成!!! 效果 一、下载软件 下载软件…

智慧楼宇公厕系统小程序,提高卫生间管理使用效率

在当今的智慧楼宇中,公厕系统的管理和使用效率成为了衡量楼宇品质的重要指标之一。智慧楼宇公厕系统小程序的出现,为解决这一问题带来了全新的思路和方法。 一、检查公厕环境数据 智慧公厕系统不仅关注如厕的基本需求,还注重提升如厕环境的质…

你了解大模型的偏见吗

随着AI大模型在各个领域的广泛应用,它们的偏见问题逐渐引起关注。 这些偏见可能无意中影响生成内容的公正性,误导用户决策,甚至加剧社会不平等。 AI偏见不仅会损害公众对技术的信任,还可能在关键领域如招聘、教育和医疗中产生不…

自定义树工具v2.0+评论回复功能开发

文章目录 1.新增评论回复1.EasyCode生成代码2.SaveShareCommentReplyReq.java3.ShareCommentReplyController.java4.ShareCommentReplyService.java5.ShareCommentReplyServiceImpl.java6.ShareMomentMapper.java 增加动态回复数7.ShareMomentMapper.xml8.测试1.评论2.评论记录…

CTFSHOW misc入门中misc8解法

第一步:下载misc8压缩包后解压缩,发现是一张misc8.png图片 第二步:老规矩,还是在kali里用binwalk命令查看文件是否包含隐藏文件,发现有两个png文件 第三步:使用binwalk -e 命令看是否能进行解析文件,结果不…

Emacs29.x版本之重要特性及用法实例(一百六十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列…

如何提升网络对AI大模型流量的承载能力?

前言 随着AI大模型的兴起,数据中心正在经历前所未有的变革。AI模型的规模巨大并持续快速增长。自2017年起,AI模型的规模每半年翻一番,从初代Transformer的6500万增长到GPT-4的1.76万亿,预计下一代大语言模型的尺寸将达到10万亿。…