JSP动态网页开发技术

2023-11-08

一、学习目标
1.JSP概述
2.JSP指令
3. JSP 隐式对象
二、重点知识
1.JSP概述:JSP是什么?
1)JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束;
2)JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP,它通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页;
3)JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息;
4)JSP可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。JSP将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容。
1.1 JSP的优势
1)与ASP相比,JSP有两大优势:
a. 动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用;
b. JSP易于移植到非MS平台上;
2)与纯 Servlet 相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句;
3)与SSI相比:SSI无法使用表单数据、无法进行数据库链接;
4)与JavaScript相比:虽然JavaScript可以在客户端动态生成HTML,但是很难与服务器交互,因此不能提供复杂的服务,比如访问数据库和图像处理等等;
5)与静态HTML相比:静态HTML不包含动态信息。
1.2 JSP 特点和结构
(1)特点:
1)java 服务端 页面: 在jsp上可以写java代码,也可以写html标记,它运行在服务器端。
2)jsp = java + html + jsp自身的一些东西。
3)jsp最大的特点:可以非常简单的书写页面html。
4)jsp其实它的本质是servlet: 可以看到jsp 继承了 HttpJspBase 继承 HttpServlet。
2. JSP 指令和基本语法
在这里插入图片描述1)page指令
page指令的用途是设置与jsp页面相关的信息,比如说设置jsp页面的编码,jsp页面的默认语言等
基本语法格式:<%@ page 属性=“属性值” 属性=“属性值” 属性=“属性值” %>

<%@ page language="java" contentType="text/html; charset=UTF-8"
	 pageEncoding="UTF-8"%>

(1)常用属性:

language: 默认语言java,也就是只有java一种语言。
pageEncoding:设置jsp的编码格式,一般情况下可以省略 contentType这个属性。
session属性:值得类型是boolean,如果对应的值是true,在jsp页面可以使用session对象,反之就不能使用。
import属性:导包,和在java里面使用一样,如果想使用某个类,前提导入某个类的包名。

2)include指令
在jsp页面通常会需要显示其它页面的信息,所以可以通过这个include指令把其它页面包含过来。
基本语法:<%@ include file=“被包含文件的url” %>
创建两个jsp页面: date.jsp页面、include.jsp页面。
(2)使用jsp的include指令实现的包含,又称为静态包含,静态包含的特点:
1)把多个页面的内容,合并输出,比如把date.jsp 和 include.jsp内容合并输出。
2)多个页面对应生成一个java文件,编译后,对应一个class文件。
3. JSP 隐式对象
3.1 什么是隐式对象?
在jsp页面里面,jsp提供了一些对象,不用咱们自己创建,可以直接使用的对象。
jsp常见的九大隐式对象:

request: HttpServletRequest,请求对象,它同时也是域对象,作用范围一次请求
response:HttpServletResponse,响应对象
session: HttpSession ,会话对象,它同时也是域对象,作用范围一次会话
application:ServletContext,上下文对象,它同时也是域对象,作用范围整个项目
config:ServletConfig,配置对象
out:JspWriter,其实和PrintWriter作用差不多
page:Object ,代表当前jsp的页面对象
pageContext:PageContext ,jsp容器
exception:Throwable,异常对象,用来捕获异常信息

只有当前jsp页面有isErrorPage="true"这个属性时,才能使用exception对象。
(1) out对象
out对象在输出内容到网页上面去,最终是通过reponse缓冲区给输出的。
在chapter06项目的WebContent 目录下创建out.jsp文件。
(2) pageContext对象
第一个功能:获取其它八个隐式对象
1)获取请求对象:getRequest();
2)获取响应对象:getResponse();
3)获取输出对象:getOut();
第二个功能:操作其它三个域对象:request、session、application
pageContext也是一个域对象:作用范围在当前jsp页面。

  • 操作其它三个域对象的方法:
    1)存值:setAttribute(String key,Object obj,int scope);
    APPLICATION_SCOPE :对应的是application
    REQUEST_SCOPE: 对应的是request
    SESSION_SCOPE:对应的是session
    PAGE_SCOPE:对应的是自己 pageContext
    2)取值:getAttribute(String key,int scope);
    结论:在pageContext域对象使用findAttribute方法获取值,进行了全域查找,查找的范围:pageContext—>request----->session---->application
    首先找域作用范围小的对象,如果有值获取到,停止向下查找,如果不存在对应的值,就继续向下寻找。
    3.2 exception 对象
    它是用来捕获异常信息的。
    使用它通常会用到两个属性:
    1)errorPage:属性对应的值,处理异常信息的页面,就是说在当前页面发生了异常,跳转到处理异常信息的页面
    4.JSP的运行原理
    jsp—>java—> .class
    1)通过浏览器首次访问jsp时
    2)JSP容器会生成对应的Servlet文件,也就是.java文件
    3)JSP容器,会把java文件编译对应的class文件
    4)JSP容器,会生成对应的servlet对象
    5)通过生成的servlet对象,去处理浏览器发送的请求,响应数据给浏览器。4.1JSP脚本元素
    在jsp页面书写java的三种形式:
    1)可以声明语句和方法
    2)可以书写java代码段
    3)可以书写表达式
    三、实际运用
  • 注意:在JSP创建类时,中文字符可能会出现乱码情况,这就需要我们在创类之前做一下配置准备,在打开Eclipsese后,点击工具栏window修改jsp的默认编码格式:window–>>preferenes–>> Web–>> JSP Files,选中后面带有UTF-8的编码进行修改。
    在这里插入图片描述

1.使用JSP+JavaBean+Servlet【Model2/MVC】实现用户注册功能
首先编写UserBean类
代码示例:

  package cn.itcast.chapter11.model2.domain;
    public class UserBean {
	private String name;   
	private String password; 
	private String email;   
	public String getName
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JSP动态网页开发技术 的相关文章

  • angular原理及模块简介

    本人前端小白 奈何在公司在做一个PC端的程序 用angular写 不得不自学了一下angular框架 虽然在工作过程中勉强勉强够了 但是觉得既然用了就稍微了解得全面一点 所以花了几个晚上看了一下angular的developer guide
  • Mysql 参数autoReconnect=true 解决8小时连接失效

    1 即使在创建Mysql时url中加入了autoReconnect true参数 一但这个连接两次访问数据库的时间超出了服务器端wait timeout的时间限制 还是会CommunicationsException The last pa
  • SIEBEL功能组件,eScript入门

    文章目录 前言 学习任务 一 MVG的配置与学习 1 1 M的MVG配置 以统计订单行数量功能为例 1 M M的MVG配置 二 View Mode Visibility配置 1 Personal安全性 2 Position安全性 三 EBC
  • anguarjs 上传图片预览_轻量级 Vue 图片上传组件V-Uploader

    今天给小伙伴们推荐一款超好用的Vue图片上传组件VUploader v uploader 基于vue2 x构建的简单易上手的图片上传组件 支持单张 多张图片 缩略图预览及拖拽上传功能 安装 npm i v uploader S 引入插件 i
  • gitlab迁移+升级

    一 目的 gitlab9 4 3迁移并升级到gitlab11 8 1 二 环境 原gitlab的版本为9 4 3 仓库位置已更改为 apps01 gitlab 三 操作步骤 迁移gitlab9 4 3 在新机器上安装好与原gitlab相同版
  • 【设计模式】外观模式

    外观模式 Facade Pattern 隐藏系统的复杂性 并向客户端提供了一个客户端可以访问系统的接口 这种类型的设计模式属于结构型模式 它向现有的系统添加一个接口 来隐藏系统的复杂性 这种模式涉及到一个单一的类 该类提供了客户端请求的简化

随机推荐

  • 数据库学习笔记_3_ER模型详解_约束

    一个ER模型必然需要对于其内容做出约束 接下来我们会从mapping cardinality 和participation constraints keys讲起 mapping cardinalities cardinality 字面意义是
  • python中[-1]、[:]、[:-1]、[::-1]、[::-2]、[2::]、[2::-1]用法

    a 0 1 2 3 4 5 6 7 8 9 10 11 12 a 1 列表a的最后一个元素 12 a 列表a的从0号元素到最后一个元素 0 1 2 3 4 5 6 7 8 9 10 11 12 a 1 列表a的从0号元素到倒数第二个元素 不
  • Centos7设置静态IP

    sudo vi etc sysconfig network scripts ifcfg
  • Docker部署Elasticsearch+Kibana

    方式1 编写docker compose yml version 3 7 services elasticsearch image elasticsearch 7 10 1 container name elasticsearch 001
  • AMOP 实践 (普通话题)

    普通话题不需要额外创建 消息的发布直接根据 AmopMsgOut 的setTopic 方法设置 本次消息发布的 topic 本次示例为 Java SDK 的使用测试 且使用代码完成 Topic 的创建以及订阅 1 订阅话题 1 1 创建一个
  • 多模态信息检索流程,多模态信息检索的商业应用,多模态信息检索涵盖技术与未来发展

    多模态信息检索流程 1 收集不同类型的信息 如文本 图像 音频 视频等 2 对不同类型的信息进行处理和识别 如图像识别 语音识别等 3 将不同类型的信息转化为统一的表示形式 如向量表示或语义空间表示 4 进行信息匹配和检索 比较不同类型的信
  • servlet的会话管理

    在Servlet规范中 Servlet的会话管理技术主要有4种 URL重写 Cookie 隐藏表单域以及HttpSession 在Java Servlet API中 javax servlet http HttpSession接口封装了Se
  • 异星工厂服务器资源修改,异星工厂存档怎么改到别的地方 异星工厂存档位置修改方法_游侠网...

    异星工厂存档怎么改到别的地方想必有些小伙伴还不是很清楚的吧 所以呢今天小编就为大家带来了异星工厂存档位置修改方法 一起来了解一下吧 异星工厂存档位置修改方法 首先我们找到 Factorio异星工厂的安装目录 然后 找到一个叫做config
  • Angular 表单验证

    模板驱动验证 使用模板驱动验证需要依赖于原生的HTML表单验证器 Angular 会用指令来匹配具有验证功能的这些属性 原生的HTMl验证器主要分两种 通过语义类型来进行定义 通过验证相关的属性来进行定义 语义类型 Input type C
  • Autoregressive Models

    The autoregressive model is one of a group of linear prediction formulas that attempt to predict an output y n of a syst
  • Matplotlib-快速上手-2

    Matplotlib Advanced 概述 一 基本可操作对象 1 1 Lines对象 1 2 Axes对象 重要 1 3 Ticks对象 1 4 Legend对象 1 5 Figure对象 1 6 Savefig对象 1 7 小总结 二
  • RabbitMq中间件下载与安装(window版+Centos7)

    RabbitMQ下载与安装 window版 rabbitmq下载安装 小阿杰的博客 CSDN博客 https www cnblogs com easy5weikai p 16217858 html Centos7安装RabbitMQ 安装
  • C语言printf中的自增自减运行

    源程序 int main int i 0 printf d d d n i i i return 0 我们预期的结果应该是 0 0 0 但实际结果为 0 1 0 原理我也弄得不是很明白 我借鉴了几篇文章 理解到了计算的方法 大家都知道pri
  • 在datagridview中添加button按钮

    前言 Net的DataGridView控件中 提供了一种列的类型 叫 DataGridViewButtonColumn 这种列类型是展示为一个 按钮 可以给button赋予相应的text 并且 此button可以用来做处理事件的判断依据 D
  • Linux系统管理员非常使用的几款工具推荐

    1 ExplainShell com 命令解释 对于Linux用户来说每天都会写各种命令和脚本 那么你可以使用这个网站工具来查看命令式如何工作的 这样可以避免不必要的错误出现 也是一个很好的学习命令的方式 2 BashrcGenerator
  • 使用 Builder 构建对象

    遇到多个构造器参数时 要考虑使用构建器 当遇到成员变量较多的类时 使用构造方法初始化对象会使得代码的可读性以及规范性变差 比如想知道某个参数的含义时必须要查看构造方法的定义源码 而且如果不消息颠倒了参数的顺序 编译器可能也不会报错 可以使用
  • 【Java集合 4】java character

    Java学习路线 搬砖工逆袭Java架构师 简介 Java领域优质创作者 CSDN哪吒公众号作者 Java架构师奋斗者 扫描主页左侧二维码 加入群聊 一起学习 一起进步 欢迎点赞 收藏 留言 目录 一 前言 二 ASCII控制字符 三 AS
  • Oracle数据库的启动

    lsnrctl start 启动监听 sqlplus nolog SQL gt conn as sysdba SQL gt startup 启动数据
  • 提高性能 MSSQL百万数据量 值得注意的30条优化技巧

    1 对查询进行优化 应尽量避免全表扫描 首先应考虑在 where 及 order by 涉及的列上建立索引 2 应尽量避免在 where 子句中对字段进行 null 值判断 否则将导致引擎放弃使用索引而进行全表扫描 如 select id
  • JSP动态网页开发技术

    一 学习目标 1 JSP概述 2 JSP指令 3 JSP 隐式对象 二 重点知识 1 JSP概述 JSP是什么 1 JSP全称Java Server Pages 是一种动态网页开发技术 它使用JSP标签在HTML网页中插入Java代码 标签