JavaWeb--JSP(动态网页的灵魂)

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后跟上相应的文件名称即可在部署的界面上查看
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值