一、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
微信扫一扫
支付宝扫一扫