使用IDEA开发Java Web项目

下载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的代码,例如:

java 复制代码
request.getRequestDispatcher("/WEB-INF/jsp/hello.jsp").forward(request, response);

如下图所示:

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

相关推荐
mghio44 分钟前
Dubbo 中的集群容错
java·微服务·dubbo
范文杰3 小时前
AI 时代如何更高效开发前端组件?21st.dev 给了一种答案
前端·ai编程
拉不动的猪3 小时前
刷刷题50(常见的js数据通信与渲染问题)
前端·javascript·面试
拉不动的猪3 小时前
JS多线程Webworks中的几种实战场景演示
前端·javascript·面试
FreeCultureBoy4 小时前
macOS 命令行 原生挂载 webdav 方法
前端
uhakadotcom4 小时前
Astro 框架:快速构建内容驱动型网站的利器
前端·javascript·面试
uhakadotcom4 小时前
了解Nest.js和Next.js:如何选择合适的框架
前端·javascript·面试
uhakadotcom4 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
uhakadotcom4 小时前
Remix 框架:性能与易用性的完美结合
前端·javascript·面试