一、JSP介绍
JSP全称Java Server Pages,是一种动态网页技术,它可以将Java代码嵌入HTML页面,实现动态页面的功能。
下面是一个JSP页面的简单示例:
Hello World
上面的代码中,使用了JSP中的<% %>
语法,将Java代码嵌入到了HTML页面中,并使用out.println()
方法输出了一句话。在运行时,JSP页面会被转换成一个Java Servlet,然后被Web容器执行。
二、JSP基础语法
1. JSP注释语法
JSP中的注释语法和HTML一样,有两种:
- HTML注释:使用
<!-- -->
注释的内容在客户端是不可见的。 - JSP注释:使用
<%-- --%>
注释的内容在客户端也是不可见的,但是会在JSP页面被转换成Servlet时被保留。
2. JSP脚本语法
JSP脚本语法是将Java代码嵌入到JSP页面中的一种方式,可以使用以下两种语法:
- 脚本let:使用
<% %>
将Java代码包含在其中。 - 表达式:使用
<%= %>
输出Java表达式的值。
下面是一个使用脚本let和表达式的例子:
Hello World
3. JSP指令语法
指令是一些特殊语句,用于设置JSP页面的一些属性。常用的指令有:<%@ page %>
、<%@ include %>
、<%@ taglib %>
等。
下面是一个使用<%@ page %>
指令控制JSP页面编码的例子:
Hello World Hello, World!
三、JSP内置对象
JSP内置对象是在JSP页面中自动创建的,可以使用它们来执行一些常见操作,如获取请求信息、访问Session等。
常用的JSP内置对象有:request
、response
、pageContext
、session
、application
等。
下面是一个使用request
、response
对象的例子:
Hello World Request URI:
Remote Address:
Server Name:
Response Status:
四、JSP标签库
JSP标签库是一组自定义标记,可以方便地扩展JSP功能,提高代码的可读性和可维护性。JSP标签库可分为两种:标准标签库和自定义标签库。
标准标签库是由JSP规范定义的,包括了多个标签库,如Core、Fmt、Sql等。可以通过<%@ taglib %>
指令导入标准标签库。
自定义标签库是由开发人员自己定义的,可以方便地将重复使用的代码封装成标签,让JSP页面更加简洁、易读。下面是一个简单的自定义标签库的例子:
1. 编写tag文件:/WEB-INF/tags/hello.tag
<%@tag language="java" pageEncoding="UTF-8"%> <%@attribute name="name" required="true" type="java.lang.String" description="The name to say hello to"%> Hello, <c:out value="${name}"/>!
2. 在JSP页面中使用标签:
<%@taglib prefix="my" tagdir="/WEB-INF/tags"%> <my:hello name="World"/>
上面的代码中,使用了<%@tag %>
指令导入了自定义标签库,并使用了<my:hello %>
标签输出了一句话。
五、JSP和Servlet之间的关系
JSP和Servlet在本质上是一样的,都是用Java语言编写的,只不过JSP是在HTML页面中嵌入Java代码,而Servlet是纯Java代码。在底层,JSP页面在运行时会被转换成一个Servlet,然后在Web容器中执行。
下面是一个简单的Servlet和JSP页面的例子:
1. 编写Servlet:
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String message = "Hello, World!"; request.setAttribute("message", message); RequestDispatcher rd = request.getRequestDispatcher("/hello.jsp"); rd.forward(request, response); } }
2. 编写JSP页面:
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> <html> <head> <title>Hello World</title> </head> <body> <p>Message: <c:out value="${message}"/></p> </body> </html>
上面的代码中,Servlet设置了一个名为message
的属性,并将请求转发到了/hello.jsp
页面,然后在JSP页面中使用了标签输出了这个属性的值。
六、JSP小结
JSP是一种将Java代码嵌入HTML页面的动态网页技术,它包含了脚本语法、指令语法、内置对象和标签库等功能。JSP和Servlet在底层是一样的,都是Java代码,只不过在表现形式上有所不同。使用JSP可以大大提高代码的可读性和可维护性,同时也能方便地实现动态网页的功能。
原创文章,作者:JYGDH,如若转载,请注明出处:https://www.506064.com/n/369443.html