JSP基础

1、2种注释类型:

1.HTML注释(发送到客户端): <!-注释<%表达式%>注释->
2.JSP注释是(不发送到客户端):<%--注释--%>

2、3种脚本元素:

1.声明:<%int i=0;%>
2.表达式:<%=i%>
3.脚本段:<%代码%>

3、3个指令元素:

1.page指令:用于定义JSP全局属性。(关于属性详情可以百度)

<%@ page
   [ language="java" ]
   [ extends="package.class" ]
   [ import="{package.class | package.*}, ..." ]
   [ session="true | false" ]
   [ buffer="none | 8kb | sizekb" ]
   [ autoFlush="true | false" ]
   [ isThreadSafe="true | false" ]
   [ info="text" ]
   [ errorPage="relativeURL" ]
   [ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
   [ isErrorPage="true | false" ]
   %>

2.include指令:可以在JSP中包含一个静态文件。
—将被包含页面中的代码复制粘贴到主页面中,最后编译形成主页面的类文件(一个),将两个JSP文件翻译成一个Servlet。
—file属性的值必须是项目中已存在的文件,否则主页面报异常
—如果被包含页面内容改变,主页面会即时改变

3.taglib指令:定义一个标签库以及其自定义标签的前缀。
taglib指令作用:引用外部标签
taglib指令语法: <%@taglib uri=”标签名称空间” prefix=”前缀”%>

   <%@ taglib uri="http://www.jspcentral.com/tags" prefix="public" %>
   <public:loop>
   <%执行代码%>
   </public:loop>

4、9大内置对象:

不用实例化,直接使用
JSP的内置对象引用名称--------》对应的类型
request-------------HttpServletRequest
response-----------HttpServletResponse
session-------------HttpSession(有开关的:page指令的session属性的取值)
application--------ServletContext
config--------------ServletConfig
page---------------this(当前Servlet对象)
exception---------java.lang.Throwable(有开关的:page指令的isErrorPage属性改为true)
out-----------------JspWriter
pageContext-----javax.servlet.jsp.PageContext非常重要

5、4大域对象:(两个资源之间互传数据)

JSP中隐式对象的名称             范围名称            具体的类型
pageContext                     page                javax.servlet.jsp.PageContext
request                         request             javax.servlet.ServletRequest  (显示完数据就没有用了)
session                         session             javax.servlet.http.HttpSession (显示完数据了,过一会自己还要用)
application                     application         javax.servlet.ServletContext (显示完数据了,过一会大家都要用。不建议使用,如果使用,必须同步处理)

范围比较:
pageContext<ServletRequest<HttpSession<ServletContext
(对应:page<request<session<application)
(注意:当同时调用几个域对象的时候,范围小的优先)
(提醒:其实域对象就是个Map容器,装载对象/数据的)

代码举例:(pageContext可以控制其他3个域对象)
pageContext.setAttribute("p","pp0",PageContext.PAGE_SCOPE);
pageContext.setAttribute("p","pp1",PageContext.REQUEST_SCOPE);
pageContext.setAttribute("p","pp2",PageContext.SESSION_SCOPE);
pageContext.setAttribute("p","pp3",PageContext.APPLICATION_SCOPE);

6、7大动作指令:

1、jsp:forward:页面转发

<jsp:forward page="relativeURL|<%=expression%>"/>
----------or----------
<jsp:forward page="relativeURL|<%=expression%>">
<jsp:param name="" value="">
</jsp:forward>

2、jsp:param:传递参数

<jsp:param name="" value="">

3、jsp:include:动态包含

<jsp:include page="relativeURL|<%=expression%>"/>
----------or----------
<jsp:include page="relativeURL|<%=expression%>">
<jsp:param name="" value="">
</jsp:include>

4、jsp:useBean:初始化实例

<jsp:useBean id="name"  classname="" scope="page|request|session|application"/>
作用:用于在指定域范围内查找指定名称的JavaBean对象,找到了就直接使用;没有找到,创建一个,并放到指定的域范围内。
id:javaBean的实例名。
classname:JavaBean的完整类名。
scope:域范围。默认是page范围。(可选值:page request session application)

5、jsp:setProperty:设置属性参数值

<jsp:setProperty property="a" name="name" value="hello"/>
作用:调用JavaBean的setter方法。(还能自动类型转换,仅限基本类型)
property:需要设置的属性名。
name:javaBean的实例名。(jsp:useBean中的id的取值)
value:需要设置的属性值。

6、jsp:getProperty:获取属性参数值

<jsp:getProperty property="a" name="name"/>
作用:调用JavaBean的getter方法。
property:需要设置的属性名。
name:javaBean的实例名。(jsp:useBean中的id的取值)

7、jsp:plugin:在客户端执行Applet,需要JVM/Java插件支持

<jsp:plugin
  type="bean | applet"
  code="classFileName"
  codebase="classFileDirectoryName"
  [ name="instanceName" ]
  [ archive="URIToArchive, ..." ]
  [ align="bottom | top | middle | left | right" ]
  [ height="displayPixels" ]
  [ width="displayPixels" ]
  [ hspace="leftRightPixels" ]
  [ vspace="topBottomPixels" ]
  [ jreversion="JREVersionNumber | 1.1" ]
  [ nspluginurl="URLToPlugin" ]
  [ iepluginurl="URLToPlugin" ] >
  [ <jsp:params>
  [ <jsp:param name="parameterName"
value="{parameterValue | <%= expression %>}" /> ]+
  </jsp:params> ]
  [ <jsp:fallback> text message for user </jsp:fallback> ]
</jsp:plugin>

例子:

<jsp:plugin type=applet code="Molecule.class" codebase="/html">
<jsp:params>
  <jsp:param name="molecule" value="molecules/benzene.mol" />
</jsp:params>
<jsp:fallback>
  <p>Unable to load applet</p>
</jsp:fallback>
</jsp:plugin>

注意细节:

1.jsp指令是为了JSP引擎而设计的,不产生任何可见输出,只是告诉引擎如何处理JSP页面中其余的部分。
2.include指令为静态包含,<jsp:include page""/>为动态包含,为了效率尽量使用动态包含。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值