jsp是Java Server Pages的缩写,属于Java Web开发中的动态页面技术,本质是在HTML页面中嵌入Java代码,运行时由服务器编译成Servlet再执行。jsp完全可以在linux系统上运行,只要搭建符合要求的运行环境即可,linux系统的稳定性和开源特性反而更适合jsp项目的长期部署。

运行jsp的核心环境要求
要在linux上运行jsp,需要满足两个基础条件,分别是Java运行环境和支持jsp的Web容器:
- Java运行环境:jsp依赖Java虚拟机执行,需要安装JDK或者JRE,推荐安装JDK 8及以上版本,兼容性更好。
- Web容器:jsp无法独立运行,需要部署在支持Java Web规范的容器中,最常用的是Tomcat,也可以选择Jetty、WebLogic等。
linux上部署jsp的完整步骤
1. 安装JDK
首先下载对应linux版本的JDK安装包,解压后配置环境变量,以下是CentOS系统的配置示例:
# 解压JDK安装包到/usr/local目录 tar -zxvf jdk-8u341-linux-x64.tar.gz -C /usr/local/ # 配置环境变量,编辑/etc/profile文件 echo 'export JAVA_HOME=/usr/local/jdk1.8.0_341' >> /etc/profile echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' >> /etc/profile # 使环境变量生效 source /etc/profile # 验证Java是否安装成功 java -version
2. 安装Tomcat
下载Tomcat安装包,解压后即可使用,无需复杂配置:
# 解压Tomcat安装包 tar -zxvf apache-tomcat-9.0.73.tar.gz -C /usr/local/ # 启动Tomcat cd /usr/local/apache-tomcat-9.0.73/bin ./startup.sh # 验证Tomcat是否启动成功,访问默认8080端口,看到Tomcat欢迎页即成功 curl http://127.0.0.1:8080
3. 部署jsp项目
将编写好的jsp项目打包成war包,或者直接复制项目文件夹到Tomcat的webapps目录下,Tomcat会自动解压部署:
# 将jsp项目war包复制到webapps目录 cp /root/demo.war /usr/local/apache-tomcat-9.0.73/webapps/ # 等待几秒后访问项目,假设项目上下文是demo curl http://127.0.0.1:8080/demo/index.jsp
简单jsp示例验证
可以创建一个简单的jsp页面测试运行效果,在webapps/demo目录下创建test.jsp:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Linux运行JSP测试</title>
</head>
<body>
<h2>当前运行环境信息</h2>
<p>操作系统:<%= System.getProperty("os.name") %></p>
<p>Java版本:<%= System.getProperty("java.version") %></p>
<p>当前时间:<%= new java.util.Date() %></p>
</body>
</html>
访问该页面后,会显示linux系统的名称、Java版本和当前时间,说明jsp已经在linux上正常运行。
常见问题说明
- 如果访问jsp页面出现404,检查项目是否正确部署到
webapps目录,Tomcat是否正常启动。 - 如果页面出现中文乱码,在jsp页面开头添加
<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" %>即可解决。 - linux防火墙默认会拦截8080端口,需要开放对应端口才能外部访问:
firewall-cmd --add-port=8080/tcp --permanent && firewall-cmd --reload。