JSP た 入场券 2022-01-07 15:23 231阅读 0赞 ## 一、JSP简介 ## ### 1. 什么是 JSP ### JSP全名为 Java Server Pages,中文名叫 java服务器页面。 它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段和JSP标记。后缀名为(\*.jsp)。其根本是一个简化的 Servlet 设计。 ### 2. 为什么要有 JSP ### 直接使用 Html文件是没有办法输出Java当中的信息,使用 servlet来去输出一个网页非常的麻烦,于是就出现了jsp,又能写html,又能写Java代码。 ## 二、 JSP的工作原理 ## ### 设置JSP创建时的编码 ### ![1472533-20190331172919066-609793553.png][] ### 本质就是一个servlet ### ### jsp在第一次被访问时会被Web容器翻译成servlet ### #### 1. 第一次访问 index.jsp 翻译成 index\_jsp.java #### ![1472533-20190331172925261-1419308670.png][] #### 2. 编译成index\_jsp.class运行,可以在Tomcat的work目录中可以找到 #### ![1472533-20190331172930661-994583046.png][] #### 3. 下次一次访问时, 会看一下里面的内容有没有发生变化,如果变化了, 从新翻译加载 #### #### 4. 整个过程是全局web.xml当中有一个叫(下图),翻译的过程就是JspServlet做的 #### ![1472533-20190331172937886-1092233975.png][] ![1472533-20190331172944366-320643045.png][] ## 三、JSP的组成部分 ## 1. 静态数据,如HTML 2. JSP脚本元素和变量 3. JSP指令,如include指令 4. JSP标签动作 5. 用户自定义标签 ## 四、JSP脚本元素和变量 ## ### 在JSP当中写Java代码 ### <% java代码 %> 内部的java代码翻译到service方法的内部 <%=java变量或表达式 > 会被翻译成service方法内部out.print() <%! java代码 %> 会被翻译成servlet的成员的内容 ### JSP注释 ### HTML注释: <!--注释内容--> 可见范围 jsp源码、翻译后的servlet、页面 Java注释: //单行注释 /*多行注释*/ 可见范围 jsp源码 翻译后的servlet,页面中看不到 Jsp注释: <%--注释内容--%> 可见范围 jsp源码可见 ## 五、JSP指令 ## ### 什么是指令 ### JSP指令用于设置整个JSP页面的相关信息,以及用于JSP页面与其它容器之间的通信。 ### JSP 有哪些指令 ### #### page指令 #### 用于设定整个JSP页面的属性和相关功能。 page指令共有11个属性: contentType contentType属性指定JSP页面的MIME和编码格式 pageEncoding pageEncoding属性用来指定JSP文件的编码格式 import 在JSP中引入Java的包和类,多个包之间以逗号隔开 session 指定当前页面是否能获得当前用户的session对象 缺省是true,如果指定为false,那么在该页面中无法使用session,使用的话会提示500错误 errorPage 如果当前页面发生异常 网页会重定向到errorPage所指定的页面进行处理 isErrorPage 允许指定的JSP页面为错误处理页面 language属性 指定页面中使用的脚本语言种类,目前只支持java extends 用于指定该JSP生成的servlet继承自哪个父类 必须指定包名加类名 buffer 用来设置输出流缓冲区,缓冲区的作用就是为了提高IO性能 也就是说减少write的次数 autoFlush 用来指定当输出流缓冲区满了的时候,是否自动刷新缓冲区 isThreadSafe 缺省值为true,指定该JSP文件是否支持多线程访问 info 用来设置该jsp文件的介绍信息 isELIgnored 用来标示是否支持EL表达式 多个属性之间使用空格隔开 #### include指令 #### 作用 1. 表示在JSP编译时插入一个包含文件或者代码的文件 2. include指令所包含的文件名不能是一个变量url,只能是静态的文件名 静态包含:将两个jsp页面接着到一起, 然后再翻译成servlet #### taglib指令 #### 作用:声明JSP文件使用了标签库 有哪些标签库:JSP标准标签库、第三方标签库、自定义标签库。 ## 六、标签动作 ## ### 页面包含 ### <jsp:include page="被包含的页面"></jsp:include> 动态包含:各自翻译自己的页面,然后再引入。 ### 请求转发 ### <jsp:forward page="要转发的资源"></jsp:forward> ## 七、隐式对象 ## jsp被翻译成servlet之后,service方法中有9个对象定义并初始化完毕 ![1472533-20190331180702613-987650194.png][] 可以直接使用这9个对象: ### out ### out的类型:JspWriter out作用就是想客户端输出内容 out.write() out缓冲区默认8kb,可以设置成0 代表关闭out缓冲区内容直接写到respons缓冲区,out写的内容写到out缓冲区当中,最后再把out缓冲区当中的内容合并到 response缓冲区当中 ### request ### 得到用户请求信息对象 ### response ### 服务器向客户端的响应对象 ### config ### 服务器配置,可以取得初始化参数 ### session ### 用来保存用户会话的信息 ### application ### 所有用户的共享信息,就是servletContext ### page ### 指当前页面转换后的Servlet类的实例 ### pageContext ### jsp页面的上下文对象 是一个域对象 setAttribute(String name,Object obj) getAttribute(String name) removeAttrbute(String name) 可以向指定的其他域中存取数据 setAttribute(String name,Object obj,int scope) setAttribute(“name”,"lk",PageContext.REQUEST_SCOPE); getAttribute(String name,int scope) getAttribute("lk",PageContext.REQUEST_SCOPE) removeAttrbute(String name,int scope) findAttribute(String name) 自动到所有的域当中找数据,从小到大的范围搜索数据,依次从pageContext域,request域,session域,application域中获取属性,在某个域中获取后将不在向后寻找。 可以获得其他8大隐式对象 pageContext.getRequest() pageContext.getSession() ### exception ### 表示JSP页面所发生的异常,在错误页中才起作用,只有是错误页面的时候,才会有该对象。 转载于:https://www.cnblogs.com/xzh0717/p/10632205.html [1472533-20190331172919066-609793553.png]: /images/20211220/8d3132c9c1a6437da0c9caf8d0bcca40.png [1472533-20190331172925261-1419308670.png]: /images/20211220/2c7b84dfbb154992a7789f7a95cc5ed4.png [1472533-20190331172930661-994583046.png]: /images/20211220/dca720795ee2426e866b93bc18198edf.png [1472533-20190331172937886-1092233975.png]: /images/20211220/2428b681643c4414922d901398ccddb7.png [1472533-20190331172944366-320643045.png]: /images/20211220/a8d93f768f8945de8fa53ecf9429ca22.png [1472533-20190331180702613-987650194.png]: /images/20211220/def68ff78f5140968dd2f76834c4e959.png
相关 JSP基础:jsp注释 > HTML注释:<!-- -->是相对浏览器的,浏览器会忽略注释的部分不显示在页面上。 > Java注释: // ,/\ \/ 是相对于编译器的,编译器会忽略注释的代码,生 拼搏现实的明天。/ 2023年10月08日 23:37/ 0 赞/ 9 阅读
相关 JSP 我们都知道静态页面html,但是在我们淘宝购物的时候,每个用户的购物车界面是不一样的,那么这个购物车的界面又是如何生成的呢?是通过动态JSP生成的。 > JSP:Java S 蔚落/ 2022年06月05日 07:28/ 0 赞/ 145 阅读
相关 jsp 目录 出错页面 包含其他页面的两种方法 两种方法的比较: 网页跳转的两种方法 跳转携带参数 jsp内置对象 四个作用域对象 ------------ ╰半夏微凉°/ 2022年03月29日 02:44/ 0 赞/ 170 阅读
相关 JSP 1. 概念:Java Server Pages Java服务器端页面 一个特殊的页面,其中既可以定义html标签,又可以定义Java代码。 你的名字/ 2022年03月01日 19:08/ 0 赞/ 178 阅读
相关 jsp ![在这里插入图片描述][watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ub 男娘i/ 2022年02月12日 19:09/ 0 赞/ 172 阅读
相关 jsp 动态页面技术 一、JSP 1. 简介 JSP:Java Server Page,Java服务器端页面技术,是Sun公司提供的一套规范。表面上是HTML+ 心已赠人/ 2022年02月05日 12:36/ 0 赞/ 197 阅读
相关 JSP 1.JSP有哪些内置对象?作用分别是什么? 答案: 1. JSP有9个内置对象: (1)request:封装客户端的请求,其中包含来自GET或POST请求的参数; 川长思鸟来/ 2022年01月10日 06:17/ 0 赞/ 238 阅读
相关 JSP 一、JSP简介 1. 什么是 JSP JSP全名为 Java Server Pages,中文名叫 java服务器页面。 它是在传统的网页HTML文件(.htm,. た 入场券/ 2022年01月07日 15:23/ 0 赞/ 232 阅读
相关 JSP jsp简介 JSP(Java Server Pages)是JavaWeb服务器端的动态资源,它与html页面的作用是相同的,显示数据和获取数据。 jsp: 作为请求发起页 喜欢ヅ旅行/ 2021年11月02日 14:46/ 0 赞/ 290 阅读
还没有评论,来说两句吧...