32、JAVA_WEB开发基础之jsp

是什么

是简化servlet的一种技术,将html语句和java代码混合在一个文件中进行编写,只对网页中动态产生的内容用java代码编写,静

态内容仍用html语句编写

运行原理

jsp本质上是一个servlet ,每个jsp页面第一次被访问时,jsp引擎将它翻译成一个servle源程序,接着再把这个servlet源程序翻译

成servlet的class类文件,然后再由web容器像调用普通servle程序一样的方式加载和解释执行这个由jsp页面翻译成的servlet程

序,这一部分在服务器中进行

生命周期

分三个阶段:

1、翻译阶段:.jsp 文件 → .java文件

2、编译阶段:.java 文件 → .class文件

3、执行阶段: 执行.class文件

均在web容器中进行

域对象

jsp中有四个域对象:pageContext、request、session、application(对属性的作用域的范围从小到大)

pageContext:属性的作用范围是当前jap页面

request:属性的作用范围仅限于同一个请求

session:属性的作用范围限于一次会话,浏览器打开知道关闭称之为一次会话

application:属性的范围限于当前web应用,范围最大的属性作用范围,只要在一处设置属性,处处可得

内置对象

jsp中有九个内置对象:

1、request对象: javax.servlet.httpServletRequest类型的对象。 封装了用户提交的请求信息,该对象代表了客户端的请求信

息,主要用于接受通过HTTP协议传送到服务器的数据。request对象的作用域为一次请求转发

2、response对象:代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它

只在JSP页面内有效。

3、session对象:由服务器自动创建的与用户请求相关的对象。服务器为每个用户都生成一个session对象,用于保存该用户的信

息,跟踪用户的操作状态。

4、application对象:可将信息保存在服务器中,除非服务器关闭,否则application对象中保存的信息会在整个应用中都有效。

5、out 对象:用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。在使用 out 对象输出数据时,可以对数据缓

冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

6、pageContext 对象:可以取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等

对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。

7、config 对象:主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对

象。当一个Servlet 初始化时,容器把某些信息通过 config对象传递给这个 Servlet。 开发者可以在web.xml 文件中为应用程序环

境中的Servlet程序和JSP页面提供初始化参数。

8、page 对象:代表JSP本身,只有在JSP页面内才是合法的。 page隐含对象本质上包含当前 Servlet接口引用的变量,类似于

Java编程中的 this 。

9、exception 对象 :作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用,在一般的JSP页面中使用该

对象将无法编译JSP文件。

表达式

一个用于输出结果的简化形式 <%= 要输出的数据(类似于print) %>

指令

有三个指令:include、page、taglib

基本格式:<%@ 指令 属性=值 % >

1、include: 静态包含,源码级包含,直接将包含的文件的所有代码加到主文件中,只生成一个servlet源文件

<%@ include file="b.jsp" %>

2、page:用于定义jsp页面的各种属性
      language:合法语言
      extends:当前的jsp被翻译成servlet时需要继承哪些类
      import:导入的包
      session:true表示当前页面可以使用session隐藏对象,false表示不能使用session
      errorPage:指定若当前页面出现错误的实际相应的页面是什么,/表示的是当前web应用的根目录
      isErrorPage:指定当前页面是否为错误处理页面,可以说明当前页面是否可以使用exception隐藏对象,错误页面不建议直接可以访问
      contentType:指定当前jsp页面的响应类型
      pageEncoding:指定当前jsp页面的字符编码
      isELIgnored:指定jsp页面是否可以使用EL表达式
3、taglib:描述了jsp页面所使用的标签库,用于引入第三方标签库

标签

jsp中有三个标签:

1、<jsp:include page=""></jsp:include>:动态引入,生成两个servlet源文件,通过方法的凡是将目标页面包含进来

2、<jsp:forward page="/include/b.jsp"></jsp:forward>: 直接转发,相当于转发,可以使用jsp:param自标签向b.jsp传入一些参数

3、<jsp:javaBean> :可用于引入实体bean

jsp页面乱码问题解决

1、页面的编码要保持一致,还需要保证浏览器显示的字符编码保持一致,一般都使用utf-8

2、设置编码格式:request.setCharacterEncoding("utf-8");     response.setCharacterEncoding("utf-8");

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321681.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

上古时期(大雾)的数据结构pdf

分块点分治Treap byWYCby\ WYCby WYC Part1 分块 概念 就是将nnn个数分成若干个块&#xff0c;然后要处理的时候整块一起的加上局部的直接暴力。 如果将块的大小分配好一般每次都是O(n)O(\sqrt n)O(n​)的。 而且因为十分暴力&#xff0c;所以有很多优秀的性质。 实现方法 …

2017西安交大ACM小学期 刁钻的顾客[3进制+折半枚举]

刁钻的顾客 发布时间: 2017年7月3日 10:23 时间限制: 3000ms 内存限制: 128M 描述 XJTU校园内新开一家商店&#xff0c;可是来了一位刁钻的顾客要购买商品A和商品B。关于商品的质量&#xff0c;共有n个评分&#xff0c;每个评分即一个整数来表示该产品在某一方面的质量。商…

33、JAVA_WEB开发基础之会话机制

会话是什么 一个客户端浏览器与web服务器之间连续发生的一系列请求和响应过程就是会话&#xff0c;这些过程中产生的一系列信息就是会话信息&#xff0c;会话机制就是用于维护这些信息一致性的一种技术。通俗的说就是&#xff0c;一个A账号访问服务器&#xff0c;进行多次交互…

2017西安交大ACM小学期 刷墙[折半枚举+异或]

刷墙 发布时间: 2017年7月3日 12:17 最后更新: 2017年7月6日 22:29 时间限制: 3000ms 内存限制: 128M 描述 小明有一面黑白混搭的墙&#xff0c;他想给把墙重新粉刷一遍。他将任务分给了xx粉刷匠&#xff0c;但是xx粉刷匠提出要求&#xff0c;他要根据原来墙的颜色进行粉…

jzoj4216-[NOIP2015模拟9.12]平方和【Splay】

正题 题目链接:https://jzoj.net/senior/#main/show/4216 题目大意 一个序列要求支持操作 插入一个数区间加上一个数区间求平方和 解题思路 用线段树可以做到区间求平方和。 就是(ab)2a22abb2(ab)^2a^22abb^2(ab)2a22abb2也就是维护区间和平方和和区间个数即可。 但是因为…

34、JAVA_WEB开发基础之EL表达式和标签

EL表达式是什么 一种从域对象中获取数值的简化写法&#xff0c;el表达式语法格式为&#xff1a;${域对象.参数名} 使用方式 取出request范围内的参数&#xff1a;{pageContext.request.username} 或者是 ${requestScope.username} 取出session范围内的参数&#xff1a;{pag…

2017西安交大ACM小学期 选择困难症[折半枚举+二分查找]

选择困难症 发布时间: 2017年7月4日 12:44 最后更新: 2017年7月4日 12:45 时间限制: 5000ms 内存限制: 128M 描述 GG有严重的选择困难症。 早上起床后&#xff0c;需要花很长时间决定今天穿什么出门。 假设一共有k类物品需要搭配选择&#xff0c;每类物品的个数为Ai&…

jzoj3798-[NOIP2014模拟8.22]临洮巨人【前缀和】

正题 题目链接:https://jzoj.net/senior/#main/show/3798 题目大意 长度为nnn的字符串&#xff0c;求有多少个子串中ABCABCABC数量相等。 解题思路 方法好像很巧妙&#xff0c;用Si,A/B/CS_{i,A/B/C}Si,A/B/C​表示到第iii个时A/B/CA/B/CA/B/C的数量。 然后Sr,A−Sl,ASr,B−…

35、JAVA_WEB开发基础之过滤器

是什么 过滤器javaweb的一个重要组件&#xff0c;一种规范&#xff0c;可以对发送到serlvet的请求进行拦截和响应进行过滤。实际开发中可以使用过滤器来对访问服务器的请求进行过滤&#xff0c;以提高安全性 过滤器的原理 可以配置过滤器对指定的请求进行过滤&#xff0c;就…

2017西安交大ACM小学期 毁灭序列[倒跑并查集]

毁灭序列 发布时间: 2017年7月4日 20:58 最后更新: 2017年7月6日 22:23 时间限制: 1000ms 内存限制: 512M 描述 给出一个n(1≤n≤2105)个非负整数a1,a2,...,an的序列&#xff0c;你要按一定顺序毁灭序列的中的数&#xff0c;在每次毁灭一个数后&#xff0c;输出不包括已毁…

P4036-[JSOI2008]火星人【Splay,二分,hash】

正题 题目链接:https://www.luogu.com.cn/problem/P4036 题目大意 一个字符串要求支持 插入一个字符修改一个字符询问两个后缀的最长公共前缀。 解题思路 如果不考虑修改我们可以用二分hashhashhash解决该问题&#xff0c;但是涉及到修改和插入我们考虑用SplaySplaySplay维…

36、JAVA_WEB开发基础之监听器

是什么 顾名思义就是监听器就是监听器&#xff0c;在开发中指的是一种机制&#xff0c;通过这种机制可以对应用中组件的创建、销毁、更改等动作进行监视&#xff0c;根据具体监听信息作出相应的处理 工作原理 就是预先给组件添加一个事件&#xff0c;当这个组件被操作&#…

2017西安交大ACM小学期 神器插座 KMP匹配

神奇插座 发布时间: 2017年7月3日 11:27 最后更新: 2017年7月5日 13:46 时间限制: 500ms 内存限制: 128M 描述 AA所在的国家有一项神奇的发明&#xff1a;插座。这里的插座不仅有两孔、三孔&#xff0c;而是有多种形态&#xff0c;下面用不同的小写字母表示不同的插座。插…

jzoj3626-[LNOI2014]LCA【树链剖分,线段树】

正题 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id3626 题目大意 一棵树&#xff0c;每次给出(l,r,z)(l,r,z)(l,r,z)询问∑ilrdepLCA(i,z)\sum_{il}^rdep_{LCA(i,z)}il∑r​depLCA(i,z)​ 解题思路 若询问LCA(x,y)LCA(x,y)LCA(x,y)的深度有一种方法&#xf…

37、JAVA_WEB开发基础之上传功能

是什么 上传指的是将客户端的文件保存到服务器的磁盘中 基本实现原理 读取客户端的文件信息&#xff0c;将文件信息以流的形式发送到服务器&#xff0c;然后服务器将流中的信息保存到本地&#xff0c;以实现文件的上传 实例 注意&#xff1a;提交的表单类型一定是 enctype…

2017西安交大ACM小学期 文本查找[AC自动机]

文本查找 发布时间: 2017年7月5日 00:10 最后更新: 2017年7月5日 13:47 时间限制: 1500ms 内存限制: 128M 描述 给定m种两两不同的关键词&#xff0c;并给定一段文本&#xff0c;问这段文本中有几种关键词出现&#xff08;一种关键词出现多次只算一次&#xff09;。 输入…

P4296-[AHOI2007]密码箱【数论】

正题 题目链接:https://www.luogu.com.cn/problem/P4296 题目大意 一个数字nnn&#xff0c;求有多少个x<nx<nx<n使得x2%n1x^2\%n1x2%n1。 解题思路 x2kn1x^2kn1x2kn1 x2−1knx^2-1knx2−1kn (x−1)(x1)%n0(x-1)(x1)\%n0(x−1)(x1)%n0 ⇒\Rightarrow⇒ x(x2)%n0(x2&l…

38、JAVA_WEB开发基础之下载功能

是什么 下载指的是将服务器端的文件保存到客户端的磁盘中 基本实现原理 根据对应的要下载的文件在服务器端找到对应的文件&#xff0c;然后获取到文件流对象&#xff0c;将流对象发送到客户端&#xff0c;然后客户端通过对返回结果中文件流的解析&#xff0c;将流对象转换成…

2017西安交大ACM小学期 有趣异或[Trie树]

有趣异或 发布时间: 2017年7月4日 23:59 最后更新: 2017年7月5日 14:56 时间限制: 1500ms 内存限制: 512M 描述 给定n个非负整数&#xff0c;保证这些数两两不相同。现给定x&#xff0c;请从中选2个不同的数a,b&#xff0c;使得a^b^x最大。 输入 包含多组测试数据。 每组…

P5675-[GZOI2017]取石子游戏【博弈论,dp】

正题 题目链接:https://www.luogu.com.cn/problem/P5675 题目大意 nnn堆石子&#xff0c;第iii堆有aia_iai​个。指定一些石子堆使得先手必胜并指定一个先手第一个取的位置使得先手必败&#xff0c;求有多少方案数。 解题思路 根据NIMNIMNIM游戏&#xff0c;只要石子数异或和…