对于刚接触Linux服务器的开发者来说,JSP环境的搭建常常让人摸不着头脑。JSP本身是Java Web开发的核心技术之一linux site:infoq.cn,要在Linux上正常运行linux jsp环境搭建,需要同时装好JDK、Tomcat和数据库等组件。很多人以为装完Tomcat就能跑JSP,其实中间还有很多细节需要处理。
搭建JSP环境需要先装哪些软件
要跑JSP页面,Linux服务器上至少得有三个基础软件:Java开发工具包(JDK)、Web服务器(Tomcat)和数据库(可选但推荐MySQL)。JDK负责把JSP编译成Java类文件,Tomcat负责处理HTTP请求并把JSP页面返回给浏览器。少了任何一个,JSP都无法正常工作。

JDK建议选择OpenJDK,因为它是开源免费的,而且和Oracle JDK差别不大。Tomcat目前主流的版本是9或10,具体看你项目使用的Servlet版本。数据库方面,如果是简单的测试环境,可以用H2这种内嵌数据库,但生产环境肯定得上MySQL或PostgreSQL。
安装顺序也有讲究。先装JDKlinux操作系统好吗,再装Tomcat,最后装数据库。因为Tomcat安装过程中会自动检测系统里的JDK,如果顺序反了,Tomcat可能会找不到Java环境。
如何在Linux终端里安装JDK

在Linux上装JDK最省事的方法是直接用包管理器。如果你用的是Ubuntu或Debian系统,打开终端输入sudo apt update更新一下软件源,然后执行sudo apt install openjdk-11-jdk,等几分钟就装好了。CentOS或RHEL系统则用sudo yum install java-11-openjdk-devel。
装完后别忘了验证一下。输入java -version,如果看到类似“openjdk version 11.0.18”这样的输出,说明JDK已经安装成功。这里有个坑:有些系统默认装了JRE而不是JDK,JRE只能运行Java程序,不能编译JSP,所以一定要确认装的是JDK。
环境变量也需要配置一下。虽然现代Linux发行版会自动设置JAVA_HOME,但为了保险起见,建议手动加一下。编辑/etc/profile文件,在末尾加上export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64,然后执行source /etc/profile使其生效。

安装配置Tomcat时要注意什么
Tomcat的安装比JDK稍微复杂一点。先去Apache官网下载Tomcat的tar.gz压缩包,用wget命令直接拉下来。解压到/opt目录下,比如sudo tar -zxvf apache-tomcat-9.0.73.tar.gz -C /opt,然后重命名为tomcat9方便管理。
启动Tomcat前,先检查一下8080端口有没有被占用。用netstat -tlnp | grep 8080看看,如果端口被其他程序占着,需要改Tomcat的配置文件。编辑/opt/tomcat9/conf/server.xmllinux jsp环境搭建,把Connector端口改成其他数值,比如8081。
启动Tomcat很简单,进到bin目录执行./startup.sh。不过新手最容易忽略的一点是:Tomcat默认只监听本地IP,外网访问不了。要解决这个问题,得修改server.xml里的address属性,把127.0.0.1改成0.0.0.0,或者直接删掉address那一行。
JSP部署到Tomcat后页面打不开怎么办
很多人在Tomcat启动后,把JSP文件放到webapps目录下,发现访问时显示404错误。这通常是因为JSP文件没有放在正确的目录结构里。Tomcat要求JSP文件必须放在WEB-INF目录的同级或子目录下,并且需要有一个web.xml配置文件。
正确的做法是:在webapps下新建一个项目文件夹,比如myapp,然后在myapp里创建WEB-INF文件夹,把web.xml放进去。JSP文件直接放在myapp根目录。访问时输入http://服务器IP:8080/myapp/你的页面.jsp。

另一个常见问题是JSP页面里引用了Java类,但没有把对应的jar包放到lib目录下。Tomcat的lib目录是/opt/tomcat9/lib,项目依赖的jar包必须放在这里,或者放在WEB-INF/lib下。如果类找不到,Tomcat会直接报500错误,浏览器里看到的是空白页或者异常堆栈信息。
数据库连接也是容易出问题的环节。JSP通过JDBC连接MySQL时,需要确保MySQL的驱动jar包在Tomcat的lib目录下,并且数据库的用户名密码、IP地址和端口号都配置正确。如果数据库和Tomcat不在同一台机器上,还要检查防火墙有没有放行3306端口。
整个JSP环境搭建下来,其实核心就是三件事:装好JDK、配好Tomcat、处理好依赖。只要把每一步的操作细节都走一遍,再遇到问题基本上都能从日志里找到线索。Tomcat的日志在logs目录下,catalina.out里记录了所有启动信息和报错信息,多看看日志比盲目猜测要有效得多。
