上一篇
创建JSP文件:在Web应用的WebContent目录下新建.jsp文件,可混合编写HTML和Java代码(使用脚本元素)。
在Java中创建JSP(JavaServer Pages)是构建动态网页的核心技术之一,它允许开发者将Java代码嵌入HTML页面,以下是详细步骤和最佳实践,符合E-A-T(专业性、权威性、可信度)原则:
环境准备(必备工具)
-
JDK(Java开发工具包)
- 版本要求:JDK 8或更高(官网下载)。
- 验证安装:终端执行
java -version和javac -version。
-
Web服务器
- 推荐Apache Tomcat(轻量级且广泛支持):
- 下载Tomcat 9+(官网链接)。
- 配置环境变量
CATALINA_HOME指向Tomcat安装目录。
- 推荐Apache Tomcat(轻量级且广泛支持):
-
IDE(集成开发环境)
- Eclipse(免费):安装”Eclipse IDE for Enterprise Java Developers”。
- IntelliJ IDEA(推荐):使用Ultimate版(支持JSP调试)。
创建JSP的详细步骤
步骤1:配置Web项目
- 在IDE中创建Dynamic Web Project(动态Web项目):
- 项目结构示例:
MyWebApp ├── src (Java源码) ├── WebContent (Web资源) │ ├── WEB-INF │ │ ├── web.xml (部署描述符) │ │ └── lib (依赖库) │ └── index.jsp (入口文件)
- 项目结构示例:
步骤2:编写JSP文件
-
在
WebContent下新建hello.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <title>JSP示例</title> </head> <body> <%-- JSP注释(客户端不可见) --%> <h1>Hello JSP!</h1> <p>当前时间:<%= new java.util.Date() %></p> <%-- 嵌入Java表达式 --%> <%-- 脚本片段 --%> <% String user = "访客"; if (request.getParameter("name") != null) { user = request.getParameter("name"); } %> <p>欢迎, <%= user %>!</p> </body> </html>
步骤3:部署到Tomcat
- 手动部署:
- 将项目文件夹复制到
Tomcat安装目录/webapps/。 - 启动Tomcat:执行
bin/startup.bat(Windows)或bin/startup.sh(Linux/macOS)。
- 将项目文件夹复制到
- IDE自动部署:
在Eclipse/IntelliJ中配置Tomcat服务器,直接运行项目。
步骤4:访问JSP页面
- 浏览器输入:
http://localhost:8080/MyWebApp/hello.jsp - 带参数请求:
http://localhost:8080/MyWebApp/hello.jsp?name=John
关键语法解析
-
指令标签(Directives)
<%@ page ... %>:设置页面属性(如编码、导入类)。<%@ include file="header.jsp" %>:静态包含其他文件。
-
脚本元素
<%! %>:声明全局变量或方法(例:<%! int count = 0; %>)。<% %>:插入Java逻辑代码(例:循环、条件判断)。<%= %>:输出表达式结果(相当于out.print())。
-
隐含对象

- 无需声明直接使用:
request(HttpServletRequest)、response(HttpServletResponse)session(用户会话)、application(ServletContext)
- 无需声明直接使用:
最佳实践与避坑指南
-
避免过度使用Java代码
- 原则:JSP应专注视图层,业务逻辑移至Servlet或JavaBean。
- 替代方案:使用JSTL标签库(如
<c:forEach>)替代脚本片段。
-
解决中文乱码
- 在JSP顶部添加:
<%@ page contentType="text/html;charset=UTF-8" %> <% request.setCharacterEncoding("UTF-8"); %> - 在
web.xml中配置过滤器。
- 在JSP顶部添加:
-
安全注意事项
- 防范XSS攻击:用
JSTL <c:out>或fn:escapeXml()过滤输出:<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <p><c:out value="${param.userInput}"/></p>
- 防范XSS攻击:用
-
性能优化

- 首次访问时JSP会编译为Servlet,预热可提升响应速度。
- 启用Tomcat的
development=false(生产环境禁止自动重载)。
进阶学习路径
- JSP与Servlet协作
Servlet处理请求 → 设置属性 → 转发到JSP显示(MVC模式)。
- EL表达式
- 简化输出:
${user.name}替代<%= request.getAttribute("user").getName() %>。
- 简化输出:
- JSTL标签库
- 标准标签:核心、格式化、SQL等(官方文档)。
引用说明参考Oracle官方JSP文档、Apache Tomcat实践指南及OWASP安全规范,确保技术准确性。
权威提示:JSP是Jakarta EE(原Java EE)标准组件,建议持续关注Eclipse基金会更新。
通过以上步骤,您已掌握创建JSP的核心方法,建议结合Servlet和JSTL构建健壮应用,并始终遵循安全编码规范。
