JavaWeb–JSP(动态网页的灵魂)
JSP简介
JSP是什么?
JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。
JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。
JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。
JSP可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。
JSP的优势
- 与ASP相比:JSP有两大优势。首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。第二点就是JSP易于移植到非MS平台上。
- 与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。
与SSI相比:SSI无法使用表单数据、无法进行数据库链接。 - 与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等。
- 与静态HTML相比:静态HTML不包含动态信息。
JSP 结构
网络服务器需要一个 JSP 引擎,也就是一个容器来处理 JSP 页面。容器负责截获对 JSP 页面的请求。本博文使用内嵌 JSP 容器的 Apache 来支持 JSP 开发。
JSP 容器与 Web 服务器协同合作,为JSP的正常运行提供必要的运行环境和其他服务,并且能够正确识别专属于 JSP 网页的特殊元素。
下图显示了 JSP 容器和 JSP 文件在 Web 应用中所处的位置。
JSP动作
JSP动作是一系列可以调用内建于网络服务器中的功能的XML标签。JSP提供了以下动作:
JSP代码展示
<%--
Created by IntelliJ IDEA.
User: gm
Date: 2021/11/12
Time: 9:21
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page import="java.util.Date" %>>
<html>
<head>
<title>LJY</title>
</head>
<body>
date.jsp页面用来输出当前时间
<%out.print(new Date().toLocaleString());%>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: gm
Date: 2021/11/12
Time: 9:55
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %>
<html>
<head>
<title>Title</title>
</head>
<body>
用来显示错误信息;
<%=exception.getMessage()%>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: gm
Date: 2021/11/12
Time: 9:04
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>LJY</title>
</head>
<body>
<%!
int a=1;
int b=2;
%>
<%!
public String bigdata(){
String str="bigdata";
return str;
}
%>
<% out.print(a+b);%>
<br/>
<% response.getWriter().print("haungong");%>
<br/>
<%out.print(bigdata());%>
<br/>
<%=a+b%>
<br/>
<%=bigdata()%>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: gm
Date: 2021/11/12
Time: 9:13
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>LJY</title>
</head>
<body>
html内容
<!-- html注释-->
<%
//java注释
System.out.println("java注释");
%>
<%-- jsp注释--%>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: gm
Date: 2021/11/12
Time: 9:53
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java"
errorPage="error.jsp"
%>
<html>
<head>
<title>LJY</title>
</head>
<body>
<%
int a=3;
int b=1;
%>
输出:<%=(a/b)%>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: gm
Date: 2021/11/12
Time: 9:23
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>LJY</title>
</head>
<body>
我是include页面,下面是我包含进来的页面。
<%@ include file="date.jsp"%>
</body>
</html>
<%--
Created by IntelliJ IDEA.
User: gm
Date: 2021/11/12
Time: 9:31
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>LJY</title>
</head>
<body>
<%
out.print("first line <br/>");
response.getWriter().print("second line <br/>");
%>
</body>
</html>
在URL后跟上相应的文件名称即可在部署的界面上查看