使用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文件显示的内容:

相关推荐
神仙别闹几秒前
基于java的改良版超级玛丽小游戏
java
燃先生._.8 分钟前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
黄油饼卷咖喱鸡就味增汤拌孜然羊肉炒饭24 分钟前
SpringBoot如何实现缓存预热?
java·spring boot·spring·缓存·程序员
暮湫41 分钟前
泛型(2)
java
超爱吃士力架1 小时前
邀请逻辑
java·linux·后端
南宫生1 小时前
力扣-图论-17【算法学习day.67】
java·学习·算法·leetcode·图论
转码的小石1 小时前
12/21java基础
java
高山我梦口香糖1 小时前
[react]searchParams转普通对象
开发语言·前端·javascript
李小白661 小时前
Spring MVC(上)
java·spring·mvc