HTML和JSP页面的比较

本文对比了HTML和JSP页面的特点,包括运行环境、速度等方面,并介绍了两者之间的数据交互方式。通过实例展示了如何从HTML表单提交数据到JSP页面进行处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、HTML页面和JSP页面的比较

 
 HTMLJSP
1*.html中不含有java代码*.jsp中含有java代码
能否单独运行单独的*.html页面可以独立运行不可以独立运行,*.jsp必须运行在web container中
运行速度属于静态文件系统,响应速度比动态请求的响应速度快属于动态页面系统,运行在web 容器中,响应速度相对于静态页面系统较慢
 =>定义好的固定的html标签

=>html标签+ scriptlet+<%@page ...%>

  • scriptlet:
    • <%!%>  <%%>    <%=%>
    • <jsp:scriptlet/>等效于<%%>
    • <%@page import="包名.类名"%>
    • java SE API
    • java EE API(九大内置对象:request、response、session、application等等)   
是否支持页面包含 

支持

  • 支持静态包含(先包含后处理)
  • 支持动态包含(先处理后包含)
是否支持页面跳转

支持:

  • 服务器端跳转:浏览器地址栏不改变;且执行到页面跳转语句时就立刻执行跳转,不会执行当前页面跳转语句后面的代码。
  • 客户端跳转:浏览器地址栏改变;且执行到页面跳转语句时不会立即跳转,而是将当前页面的所有代码都执行完之后才执行页面跳转语句,跳转到目的页面。
    • <a href=""/> 
    • <form action="page2.jsp">
          <input type="submit">
      </form> 

       

    • 使用特殊标签,设置3秒后由当前*.html页面跳转到另一个页面,具体编程方式如下,在*.html中添加如下标签:

      • <META HTTP-EQUIV="refresh" CONTENT="3;URL=""dashboard.jsp">   

          

支持

  • 服务器端跳转:浏览器地址栏不改变;且执行到页面跳转语句时就立刻执行跳转,不会执行当前页面跳转语句后面的代码。
    • <jsp:forward/>可以通过其子标签<jsp:param/>向目的页面传递参数
    • 错误跳转:如404/503、NullPointerException
  • 客户端跳转:浏览器地址栏改变;且执行到页面跳转语句时不会立即跳转,而是将当前页面的所有代码都执行完之后才执行页面跳转语句,跳转到目的页面。
    • <a href=""/>  
    • <form action="page2.jsp">
        <input type="submit">
      </form> 

       

    • response.setHeader("refresh","3;URL=“dashboard.jsp”")三秒后跳转到指定页面
    • response.sendRedirect("dashbord.jsp"),可以通过地址重写的方式向目的页面传递参数

 

   
   
   

 

 服务器端端跳转客户端跳转
浏览器地址栏不改变改变
跳转语句之后的代码是否被执行

执行到跳转语句时会立即跳转,不会执行当前页面跳转语句后面的代码。

执行完当前页面的所有代码之后才会执行该页面中的跳转语句。

(针对JSP页面)跳转的目的页面

能否使用在源页面所添加的

request范围设置的属性

 否
 编程注意事项 

1)如果使用服务器端跳转方式下的跳转语句,

请注意一定要在跳转语句之前将当前页面所用到的资源释放掉。

如果没有在跳转语句之前将当前页面占用的资源释放掉,如没有在跳转语句前将

当前页面占用的数据库连接、resultSet/PreparedStatement等资源释放掉的话,

连续访问这样的页面,数据库连接数目超出一定的量之后将出现“数据库连接已达到最大”的异常,

这时候就只能重启服务器了。

2)可以使用原页面所添加的request范围的属性

 2)不能使用原页面所添加的request范围的属性

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

二、HTML页面和JSP页面的交互

实例一,

  • 问题描述:
    • HTML页面中的表单中的action=“*.jsp”,单击HTML页面的submit类型按钮之后,会跳转到JSP页面
    • *.jsp中使用HTML页面中的标签的值
  • 编程实现:
    • input.html
      • <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>HTML页面向JSP页面传送数据</title>
        </head>
        <body>
            <form action=display.jsp method="get">
                姓名:<input type="text" name="userName"/>
                <input type="submit" value="传递给JSP页面">
            </form>
        </body>
        </html>
    • display.jsp  
      • <%@ page language="java" contentType="text/html; charset=UTF-8"
            pageEncoding="UTF-8"%>
        <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
        <html>
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>接收HTML页面传递的表单数据,并展示</title>
        </head>
        <body>
            <h1>接收HTML页面传递的表单数据,并展示html页面表单标签的值</h1>
            <%
                String name=request.getParameter("userName");
                out.println("<h2>"+name+"</h2>");
            %>
        </body>
        </html>
  • 结果展示:

    •  

       

        

        

转载于:https://www.cnblogs.com/lxrm/p/6699446.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值