jsp学习笔记

29 篇文章 0 订阅
21 篇文章 0 订阅

jsp文件执行过程

jsp文件会首先被Servlet翻译成一个**.java文件,然后被编译成一个.class**文件

jsp中的java代码片段

包括:

  • java代码块
  • 声明语句块
  • 表达式块

jsp中的java语句块<% %>

jsp中的所有的语句块最终都会jsp翻译引擎被翻译到一个serivers方法中
在一个java的方法中,声明的变量前不能加权限控制符,不能有另一个方法在里边嵌套,不能有静态语句块,这些都是类中才能出现的东西
所以在jsp的语句块中,也不能出现这三者

jsp中的声明语句块<%! %>

jsp中的声明语句块最终会被翻译到Servlet类中,作为类中的成员变量、成员方法和静态代码块,service方法也是该类的方法,所以可以访问到声明中的变量,声明中的变量也可以加权限控制符
但是,由于Servlet是单例多线程的,所以在类里边声明可修改的成员变量会造成线程安全问题

jsp中的表达式块<%= %>

作用是将表达式中的内容显示到客户端,是一个表达式而不是语句,所以不能加“ ; ”

jsp中的四大域对象

page

session

request

application

jsp中的九大内置对象

不用定义就可以使用

pageContext对象

可以通过此对象的方法来获取其他八大内置对象

out对象

标准输出流,可以将信息输出到客户端界面上,输出格式为:out.writer(内容);

application对象

page对象

exception对象

其他内置对象

jsp中的指令

使用方法:
<%@ 指令名称 属性名=属性值 属性名=属性值 ·········% >

page指令

pageEncoding属性

指定字符编码集,默认相应文本为html,用法:
<%@ page pageEnconding=“utf-8”%>

contextType属性

指定字符编码集,指定相应文本,用法:
<%@ page contextType="text/html ; charset=utf-8 "%>

import属性

导入需要的包,多个包可以写多个page指令,也可以多个包用逗号隔开写在一个page中

errorPage属性

当页面发生错误时,跳转到指定页面,但是不糊显示错误信息

isErrorPage属性

在当前页面指定isErrorPage=“true”(默认为false),表示当前页面是一个错误处理页面,在语句块里用<%=exception.getMassage()%>可以输出错误信息

include指令

实现静态联编,生成一个.java文件
在使用include指令的部分,将该指令所包含的文件复制到使用该指令的位置,特别注意文件所在的位置与指令所在的位置相同。由此可知,两个文件可以共享变量,如果两个文件定义同名变量会报错
用途:对于一个包含许多页面或站点的网站,分为头部、底部、左侧边栏、右侧边栏等部分,可以使用include指令将各部分用到的的相同的文件包含进去,减少了工作量,使修改和维护变得容易

动作指令

<jsp:动作名称 属性名=属性值,属性名=属性值······></jsp:动作名称>

<jsp:动作名称 属性名=属性值,属性名=属性值······/>

forward

在标准输出流开启之前,forward页面的发起者不能开启标准输出流,本页面不能向标准输出流中输入数据

include

在标准输出流开启之后,include页面的发起者能开启标准输出流,本页面能向标准输出流中输入数据,
实现动态联编,生成两个.java文件

静态联编和动态联编的使用

在静态联编和动态联编均可以使用时,一般使用静态联编,因为在运行时只存在一个Servlet,对资源消耗较少,且不存在调用问题,执行效率较高

  • 若在两个文件需要共享同一变量,此时只能使用静态联编
  • 若在两个文件存在同名变量,且不能混淆,此时只能使用动态联编

路径问题

前台路径

出现在HTML页面、jsp页面的静态部分,路径前不加“/”

后台路径

出现在jsp页面动态部分、java代码、xml配置文件中,路径前加“/”

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值