jsp学习笔记

jsp学习笔记

jsp(java Server Page) 是sun公司制定的一种服务器端动态页面技术组件规范
以“.jsp”为后缀的文件中既包含HTML静态标记用于表现页面
也包含特殊的代码,用于生成动态内容。

jsp作为简化Servlet开发的一种技术,实质上最终依然要转变为Servlet才可以运行,只不过这个转变过程有Servlet容器来完成

jsp包含内容
Jsp是一个以.jsp为后缀的文件,在文件中,可以包含如下内容:

  1. • HTML(CSS ,javaScript)
  2. • 注释
  3. • java代码
  4. • 指令
  5. • 内置对象

注释
在jsp页面中可以添加如下两种类型的注释
1.<!– 注释内容 –>
2.<%— 注释内容 —>

第一种注释也叫HTML注释,可以出现在jsp页面中,注释内容中可以包含了,一些java代码,但这些代码会被执行

第二行注释是jsp注释,不允许注释的内容出现java代码,写了java代码也会被忽略,不会执行。

jsp中的java代码
<%! %>JSP声明(方便输出)
:翻译成Servlet中的成员内容.定义属性,方法,类。
<% %>JSP小脚本(完成相对较长的逻辑运算)
:翻译成Servlet中service方法内部的内容,定义变量
<%= %>JSP表达式(方便输出)
:翻译成Servlet中service方法中OUT.pirnt();

练习一jsp中的java
在jsp页面中以表格的形式输出20行Hello JSP

指令
指令在jsp页面中通常起到转译成Servlet是的格式控制的作用。基本语法为:
<%@ 指令名 属性=值%>
常用指令包含以下三种
Pag指令
导包<%@page import = “java.util.,java.sql.“ %>
<%@ page contentType = “text/html;charset=utf-8”%>
<%@ page pageEncoding = “UTF-8”%>
include指令 主要用于将其他页面包含在另一页面之中
<%@ page pageEncoding = “UTF-8” %>
Taglib 指令 引入标签库
<%@ taglib uri = “标签的URI的路径” prefix= “标签的别名”%>

练习二 连接数据库
在jsp页面中使用jdbc连接数据库,以表格的形式展示员工列表

 
  1. jsp页面中可使用的隐含对象如下:

隐含对象 类型 说明
Request HttpServletRequest 请求信息
response HttpServletResponse 响应信息
Out JSPWriter 输出的数据流
Session HttpSession 会话
Application ServletContext 全局的上下文对象
pageContext PageContext JSP页面上下文
Page Object JSP页面本身
Config ServletConfig Servlet配置对象
Exception Throwable 捕捉网页异常
转发
一个web组件(Servlet/JSP)将未完成的处理通过容器转交给另外一个Web组件继续完成,这个转交的过程叫做转发
常见的情况是Servlet负责获取数据,然后将数据转交给JSP进行展现。

练习三-重定向
在Servlet中使用request绑定员工信息,转发到Jsp从request中取值展示员工信息

转发的特点
转发之后地址栏地址不会发生变化,因为转发的过程是发生在服务器内部的,游览器并不知道
转发的目的地必须是同一个应用内部的某个地址,决不能跳出应用
转发的过程中涉及到的所有web组件共享同一个request对象和response对象,数据的传递和共享就依赖request对象
在forward之后的其他语句还会继续执行,只要不报异常

Jsp标签
标签的作用:简化代码
用于页面的转发:<jsp:forward page = “/xxx.jsp”></jsp:forward>
用于页面的包含。(动态包含):<jsp:include page = “” flush=”true”/>

<jsp:param/> :用于带有路径的标签才,传递参数。

<jsp:useBean/> :用于在jsp中使用JavaBean

<jsp:setProperty/> :用于在jsp中向JavaBean设置的属性的

<jsp:getProperty/> :用于在JSP中获得javaBean的属性

静态include是编译阶段的代码拼接,动态include是 编译后的Servlet的运行结果的拼接
静态包含一般用于加载页面显示后就不再也没不变的东西
对页眉页脚,导航栏之类的静态内容我们就用静态包含

动态包含用于加载经常变化的,要求显示最新版本内容的东西

对数据库实时查询,时间戳等动态内容我们就用动态包含
Ø 最终编译成java文件的数目不同
Ø 1,静态包含在转化为java文件的时候将包含文件的内容“复制”到主题文件,然后作为一个整体编译,最终编译为一个java文件
Ø 2,动态包含是各个jsp文件分别转发,分别编译。最终编程成多个java文件
Ø 执行的时间不同
静态包含发生在:jsp -> Java文件阶段
动态包含发生:执行class文件阶段。动态加入

<jsp:param/> :用于带有路径的标签才,传递参数。

<jsp:useBean/> :用于在jsp中使用JavaBean

<jsp:setProperty/> :用于在jsp中向JavaBean设置的属性的

<jsp:getProperty/> :用于在JSP中获得javaBean的属性

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114761.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java集合详解_通俗易懂java集合

    java集合详解_通俗易懂java集合ArrayDequeArrayDeque是Deque接口的一个实现,使用了可变数组,所以没有容量上的限制。同时,ArrayDeque是线程不安全的,在没有外部同步的情况下,不能再多线程环境下使用。ArrayDeque是Deque的实现类,可以作为栈来使用,效率高于Stack;也可以作为队列来使用,效率高于LinkedList。需要注意的是,ArrayDeque不支持null值。ArrayDeque初识说明书和继承关系还是按照国际惯例,先看一下ArrayDeque的说明书,其实往往很多时候你的困

    2022年9月20日
    0
  • 2022.01 激活码【最新永久激活】

    (2022.01 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~2KLK…

    2022年4月1日
    70
  • matlab流场可视化后处理「建议收藏」

    matlab流场可视化后处理「建议收藏」matlab流场可视化后处理1流体中标量的可视化1.1云图1.2切片图绘制1.3三维等值面图绘制2流体中矢量的可视化2.1箭头图或速度图2.2流线图2.4带节点的流线图2.5流管图和流带图2.6圆锥体图2.7粒子动画图3参考链接1流体中标量的可视化流体力学中常见的标量为位置、速度绝对值、压强等。1.1云图常用的云图绘制有pcolor、image、imagesc、imsh…

    2025年6月16日
    0
  • 创建Google网站地图Sitemap.xml建议收藏

    Sitemap.xml是google搞出来的,也就是网站地图,不过这个网站地图是用xml写的,而且要按google的标准来写,并且要将写出来的这个文件sitemap.xml上传到自己的服务器空间中去。

    2021年12月20日
    54
  • matlab plot函数详解_matlab floor函数用法

    matlab plot函数详解_matlab floor函数用法plot是绘制二维图形的最基本函数,它是针对向量或矩阵的列来绘制曲线的。也就是说,使用plot函数之前,必须首先定义好曲线上每一点的x及y坐标。1.plot(x)当x为一向量时,以x元素的值为纵坐标,x的序号为横坐标值绘制曲线。当x为一实矩阵时,则以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线。2.plot(x,y)以x元素为横坐标值,y元素为纵坐标值绘制曲线3….

    2022年10月9日
    0
  • Bash Export命令「建议收藏」

    Bash Export命令「建议收藏」一.shell和export《1》用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,可以使用shell命令或声明变量,也可以创建并运行shell脚本程序。运行shell脚本程序时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程序创建的shell。当一个脚本程序运行完毕,脚本shell将终止,返回…

    2022年9月7日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号