Jsp简介:
jsp其实也是一种servlet,所以一般在学习web的知识时,都是先认识了servlet再学jsp的,jsp是用来做页面的,通过结合HTML、XHTML等来做的页面
Jsp的基本语法:
1.<% java语句 %>:在页面中写java语句,脚本元素
2.<%! int i = 0; %> :声明语句,这里声明i=0,在jsp中,先要声明变量和方法才能被后面的java代码使用
3.<%= 表达式 %>:表达式
4.<%--SP 注释 --%>:注释,与HTML注释区别:<!-- 注释 -->
行为标签
1.jsp:include -- 用于在当前页面中包含静态或动态资源,<jsp:include page="relative URL" flush="true" />
2.jsp:forward -- 从一个JSP文件向另一个文件传递一个包含用户请求的request对象,也就是跳转,<jsp:forward page="date.jsp" />
3.jsp:useBean -- 寻找和初始化一个JavaBean组件,<jsp:useBean id="myName" ... />
4.jsp:setProperty -- 设置 JavaBean组件的值,<jsp:setProperty name="myName" property="someProperty" .../>
5.jsp:getProperty -- 将 JavaBean组件的值插入到 output中,<jsp:getProperty name="myName" property="someProperty" .../>
6.jsp:plugin -- 用于在生成的HTML页面中包含Applet和JavaBean对象,<jsp:plugin type="applet" codebase="dirname" code="MyApplet.class" width="60" height="80">
7.jsp:element -- 动态创建一个XML元素,<jsp:element name="xmlElement"></jsp:element>
8.jsp:attribute -- 定义动态创建的XML元素的属性,<jsp:attribute name="xmlElementAttr"> Value for the attribute </jsp:attribute>
9.jsp:body -- 定义动态创建的XML元素的主体,<jsp:body> Body for XML element </jsp:body>
10.jsp:text -- 用于封装模板数据,<jsp:text> Welcome to JSP Programming </jsp:text>
三大指令
1.<%@ page ... %>指令
定义:定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等
属性:
|--buffer:指定out对象使用缓冲区的大小
|--autoFlush:控制out对象的 缓存区
|--contentType:指定当前JSP页面的MIME类型和字符编码
|--errorPage:指定当JSP页面发生异常时需要转向的错误处理页面
|--isErrorPage:指定当前页面是否可以作为另一个JSP页面的错误处理页面
|--extends:指定servlet从哪一个类继承
|--import:导入要使用的Java类
|--info:定义JSP页面的描述信息
|--isThreadSafe:指定对JSP页面的访问是否为线程安全
|--language:定义JSP页面所用的脚本语言,默认是Java
|--session:指定JSP页面是否使用session
|--isELIgnored:指定是否执行EL表达式
|--isScriptingEnabled:确定脚本元素能否被使用
2.<%@ include ... %>指令
定义:JSP通过include指令来包含其他文件
格式:<%@ include file="relative url" %>
3.<%@ taglib ... %>指令
定义:引入标签库的定义,可以是自定义标签
格式:<%@ taglib uri="uri" prefix="prefixOfTag" %>
九大内置对象
1.request:
定义:向客户端请求数据
方法:getAttributeNames() | getCookies() |getParameter() | getParameterValues()| setAttribute() |getServletPath() …………..
2.response:
定义:封装了jsp产生的响应,然后被发送到客户端以响应客户的请求
方法:addCookie() | sendRedirect()| setContentType() | flushBuffer() | getBufferSize() | getOutputStream()| sendError() | containsHeader()……………
3.out:
定义:PrintWriter类的实例,用于把结果输出至网页上
方法:print() | println() | flush() | clear() | isAutoFlush() | getBufferSize() | close() …………
4.session:
定义:HttpSession类的实例,用来保存每个用户的信息,以便跟踪每个用户的操作状态
方法:getAttribute() | getId()| getAttributeNames() | getCreateTime() | getMaxInactiveInterval() | invalidate() | isNew()
5.application:
定义:ServletContext类的实例,与应用上下文有关
6.config:
定义:ServletConfig类的实例,表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet
方法:getServletContext() | getServletName()| getInitParameter() | getInitParameterNames()……………
7.pageContext:
定义:PageContext类的实例,为JSP页面包装页面的上下文,提供对JSP页面所有对象以及命名空间的访问,管理对属于JSP中特殊可见部分中己经命名对象的访问
方法:forward() | getAttribute() | getException() | getRequest() | getResponse() | getServletConfig()| getSession() | getServletContext() | setAttribute()| removeAttribute() | findAttribute() …………
8.page:
定义:类似于Java类中的this关键字,Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问
方法:flush()………
9.Exception:
定义:Exception类的对象,代表发生错误的JSP页面中对应的异常对象
方法:getMessage()………