JSP-基础2

1 篇文章 0 订阅

1.应用场景数据库中存放了很多商品信息,现在将商品的信息全部显示到页面。
2.JSP定义:JAVA Server page
3.JSP = HTML+JAVA+JSP自身的东西
4.JSP的脚本

<%! %> :翻译成Servlet中的成员内容,定义变量,类 —不建议
<% %> : 翻译成Servlet中Servlet方法内部的内容,定义类,变量
<%= %> : 翻译成Servlet中的Service方法中的out.print();
5.执行JSP的过程:
JSP翻译成Servlet,编译这个Servlet类,生成Class文件,得到执行。
【JSP的注释】
HTML的注释 :
JAVA代码的注释 : // 单行
JSP的注释 : <% —– JSP的注释 ——%>

    <!-- HTML的注释 存在JSP的源码中,存在于JSP翻译后的Servlet中,存在于生成的HTML中-->

    <%
    //单行  翻译成Servlet后,也存在,但是执行完JSP后生成HTML后,这个注释就会消失。

    /*

    */

    /**

    */

    %>

    <%-------jsp 注释:只会在JSP的代码中,翻译成Servlet后,JSP的注释就消失了 --%>>

【JSP的指令】

指令的语法:
<%@ 指令的名称 属性名称=“属性值” 属性名称=“属性值”。。。%>
JSP三个指令:page,include,taglib
Page指令:<%@ page %> —设置JSP的。
*language : JSP脚本中使用的语言,现在只能写java
*ContentType : 设置浏览器打开这个JSP的时候采用的默认的字符集的编码。
*pageEncoding : 设置文本保存到本地硬盘,以及生成Servlet后,Servlet保存到硬盘上的编码。
*import :在JSP中引入类对象。但是import可以出现很多次。
<%@page import=”java.util.ArrayList”%>
*extends : 设置JSP的翻译成Servlet后继承的类,默认值:org.apache.jasper.runtime.HttpJspBase,这个值要想修改,这个类必须是HttpServlet的子类。
*autoFlush : 设置JSP的缓存自动刷出,true,自动刷出
buffer:设置JSp的缓冲区的大小,默认为8Kb
session:设置JSp中是否可以直接使用session对象,默认为true
isELIgnored:设置在JSp中是否忽略EL表达式,默认值是false。
errorPage:设置错误友好页面的提示
isErrorPage : 通过这个设置显示JSP的错误信息
设置全局的错误友好页面:在Web.xml中设置

404
404.jsp

JSP中的include :静态包含

<%@ include file="LOGO.jsp" %>
<%@ include file="Menu.jsp" %>

<h1>Body</h1>
<%@ include file="footer.jsp" %>

JSP中的tagLib指令:知识JSP引入标签库
<%@ taglib uri=”标签的URI的路径” prefix=”便签的别名” %>
【JSP的内置对象】
JSP的内置对象,可以直接被JSP使用的对像
JSP中有9个内置对象
request — HttpServiceRequest getParameter();setAttribute(String name, Object value)
response — HttpServiceResponse setHeader(String name,String value);getOutputStream();getWriter();
session — HttpSession setAttribute();getAttribute();
application — ServletContext setAttribute();getAttribute();
page —- Object toString();wait();
pageContext — pageContext setAttribute();getAttribute();
config — ServletConfig getServletName();getServletContext();
out — JspWriter write();print();
exception — Throwable getMessage();getCause();

【Page内置对象】:真实对象是Object,就是JSP翻译成Servlet后的类的引用。
【PageContext】 : 获得其他的8个内置对象、向JSP的四个域中存储数据。
JSP的四个域中存储数据
*PageScope : 当前页面中有效 — pageContext提取对象 - PageContext
*RequestScope : 一次请求范围 — Request - HttpServletRequest
*SessionScope : 一次回话范围 — Session - HttpSession
*ApplicationScope : 应用范围 — application - ServletContext

<% 
//获得其他8个内置对象 --- 主要在编写框架,通用性很高的代码中

    pageContext.setAttribute("pageNmae", "pValue");
    request.setAttribute("requestName", "requestValue");
    session.setAttribute("sessionName", "sessionValue");
    application.setAttribute("applicationName", "applicationValue");
%>

<%= pageContext.getAttribute("pageNmae") %>
<%= request.getAttribute("requestName") %>
<%= session.getAttribute("sessionName") %>
<%= application.getAttribute("applicationName") %>

<%
//转发网页
//request.getRequestDispatcher("/demo03-object/objectDemo.jsp").forward(request, response); //网址停留在pageContextDemo界面
response.sendRedirect("/day12JSP/demo03-object/objectDemo.jsp");//网址跳转到Object界面

%>

【Out内置对象】:out和response.getWriter是不是同一个对象?区别是什么?Answer:不是同一个对象,out真实对象是JspWriter,response获得的Writer是PrinterWriter。

【JSP的动作标签】6个



*静态包含和动态包含的区别:
静态包含相当于代码的copy,直接将logo中的代码复制到index中。





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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值