JSP基础

来源:互联网 发布:java如何获取访问者ip 编辑:程序博客网 时间:2024/05/01 21:43

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-------------HttpServletRequestresponse-----------HttpServletResponsesession-------------HttpSession(有开关的:page指令的session属性的取值)application--------ServletContextconfig--------------ServletConfigpage---------------this(当前Servlet对象)exception---------java.lang.Throwable(有开关的:page指令的isErrorPage属性改为true)out-----------------JspWriterpageContext-----javax.servlet.jsp.PageContext非常重要

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

JSP中隐式对象的名称             范围名称            具体的类型pageContext                     page                javax.servlet.jsp.PageContextrequest                         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
原创粉丝点击