1
头图

新建 IDEA 项目

新建一个普通 Java 项目,本教程的 JDK 版本选择 1.8

新建项目

如果没有安装 JDK,可以在下拉菜单中选择合适的版本下载到指定位置(记住这个下载路径)。

image.png

image.png

完成之后,点击“创建”即可打开刚刚新建的项目。

安装 Tomcat 8.5

下载 apache-tomcat-8.5.96.zip 并解压至合适位置。

解压 apache-tomcat-8.5.96.zip 至合适位置

进入 bin 目录,双击运行 startup.bat,如果闪退,可能是未配置 JDK 系统环境变量,缺少 JAVA_HOME 环境变量。

若终端输出乱码,可进入 conf 目录,编辑 logging.properties 文件,将 28~47 行的 encoding 全部修改为 GBK

############################################################
# Handler specific properties.
# Describes specific configuration info for Handlers.
############################################################

1catalina.org.apache.juli.AsyncFileHandler.level = FINE
1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.
1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK

2localhost.org.apache.juli.AsyncFileHandler.level = FINE
2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK

3manager.org.apache.juli.AsyncFileHandler.level = FINE
3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.
3manager.org.apache.juli.AsyncFileHandler.encoding = GBK

4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
4host-manager.org.apache.juli.AsyncFileHandler.encoding = GBK

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter
java.util.logging.ConsoleHandler.encoding = GBK

看到这两行后,打开浏览器,访问网址 http://127.0.0.1:8080
tomcat

若浏览器出现以下错误,提示“消息 java.lang.IllegalStateException: 无输出目录”,原因可能是权限不够。

HTTP状态 500 - 内部服务器错误
类型 异常报告

消息 java.lang.IllegalStateException: 无输出目录

描述 服务器遇到一个意外的情况,阻止它完成请求。

例外情况

org.apache.jasper.JasperException: java.lang.IllegalStateException: 无输出目录
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:618)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:424)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:583)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
根本原因。

java.lang.IllegalStateException: 无输出目录
    org.apache.jasper.JspCompilationContext.createOutputDir(JspCompilationContext.java:689)
    org.apache.jasper.JspCompilationContext.getOutputDir(JspCompilationContext.java:204)
    org.apache.jasper.JspCompilationContext.getClassFileName(JspCompilationContext.java:537)
    org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:464)
    org.apache.jasper.compiler.Compiler.isOutDated(Compiler.java:430)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:590)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:398)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:383)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:331)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:583)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
):注意 主要问题的全部 stack 信息可以在 server logs 里查看

Apache Tomcat/8.5.96

右键 Tomcat 所在文件夹,在属性中如下图所示,为 Users 添加完全控制权限
tomcat

必须双击运行 shutdown.bat 退出,再次双击运行 startup.bat 以重新启动。成功!
tomcattomcat

在 IDEA 项目中配置 Tomcat

单击选中刚刚创建好的项目 “tomcat”,双击 Shift,搜索 frame,点击添加框架支持
image.png

勾选“web应用程序”,勾选“创建 web.xml”,点击 OK
image.png

/web/WEB-INF 目录下创建 classeslib 目录。
image.png

image.png

打开项目结构
image.png

设置输出路径为刚才创建的 classes
image.png

在项目依赖中,添加刚才创建的 lib 目录
image.png

image.png

image.png

继续导入 Tomcat 安装目录下 lib 目录的 JSP 和 Servlet 包到项目中。
image.png

按住 ctrl 键不放,鼠标单击同时选中 jsp-api.jarservlet-api.jar 两个包。
image.png

image.png

点击确定保存。
image.png

点击顶部的“当前文件”,编辑配置,配置 Tomcat
image.png

image.png

选择 Tomcat 所在目录
image.png

image.png

可在此设置“应用程序上下文”。
image.png

成功运行!
image.png


小莱
1 声望1 粉丝