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
- jsp基础
- jsp 基础
- JSP基础
- JSP基础
- JSP基础
- Jsp基础
- JSP基础!
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- JSP基础
- jsp基础
- JSP基础
- 野指针理解和处理
- 获取WebView里的网页文本内容
- 递归递归删除子目录下所有.o后缀文件
- 谁说3D打印只能做模型?这项新技术搞定了量产
- iOS OC和Javascript互相调用
- JSP基础
- 从start_kernel开始Linux内核启动
- 【日常学习】【二叉树遍历】Uva548 - Tree题解
- 怎样写 OpenStack Neutron 的 Plugin
- Android输出log的包装
- Linux笔记(5)程序编辑器 :vi
- 《跨界杂谈》企业商业模式(一):成本
- Debian(wheezy) 配置PostgreSQL9
- Android属性动画简析