jsp详解

包: jsp-api.jar

jsp本质是Servlet,
Tomcat把jsp文件翻译成java文件(一个Servlet类),再编译成字节码。
jsp中的内容就是Servlet的service里的内容
html元素用out.write("");输出

语法:
<% 放于service方法中的代码 %>
<%= 输出到网页的代码 %> 等于out.println();
<%! 成员代码(成员变量,成员方法) %>

标签(动作):
页面包含(动态包含):
请求转发:

三大指令: page、include、taglib
语法:<%@ %>

page指令: 表示的jsp页面相关的配置信息
	language: 表示在jsp中编写的脚本语言(写不写都是java,也只能写java)
	
	buffer: out的缓冲区,默认8kb,关闭该缓冲区0kb
		注: response缓冲区优先于out缓冲区输出

	contentType: 表示jsp输出的MIME类型和编码(设置网页,也设置编码)
			等价于resp.setContentType("text/xml;charset=UTF-8");
			
	pageEncoding: 表示jsp输出的编码(仅仅设置编码)
			等价于resp.setCharacterEncoding("UTF-8")

	isELIgnored:是否忽略EL表达式语法
		忽略单个,\${user.name}

    注意:contentType默认是网页,contentType="text/xml",
	 contentType和pageEncoding共存,以contentType为准

	 import:  表示导包,例如<%@ page import="java.util.Set,java.util.List" %>
	 extends: 表示继承某个类

	 isThreadSafe="true"; //是否线程安全,默认true
	 session="true";      //是否可以使用session


    错误页面处理:
	errorPage="xxx.jsp"  //页面出错跳转到指定错误处理页面
	isErrorPage="true"   //是否为错误处理页面,设置为true才能获取异常对象

	配置全局的错误页面
	wel.xml:	

	<--  有三个属性: exception-type|error-code,location  --> 

	<--  java.lang.NullpoinException 一般不用,
		因为异常比较多,类型也比较多,需要配置N个 -->

	<--  一般用 error-code -->

		
		     404 
		     /404.jsp
		
		
		
		     505
		     /505.jsp
		

	注意:
	      遵循就近原则:有错误页面就跳转到错误页面,没有错误页面就找全局的错误页面
	     
include指令:静态包含
	<%@ include file="被包含页面" %>  //整个被包含页面将复制过去
   特点:在翻译阶段就已经把多个JSP,合并在一起

   动态包含:
	使用JSP的动作指令
			//只将代码片段合并进来
	特点:
		把每个JSP都翻译成Servlet类,在运行时期,动态合并在一起
   选择:
	需要传递参数时只能使用动态包含
	动态包含可以传递参数:
		
		     
		

    taglib指令:引入标签库

JSP中九大内置对象为:
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page
session 会话对象 类型 javax.servlet.http.HttpSession 作用域 Session
request 请求对象  类型 javax.servlet.ServletRequest 作用域 Request
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
page 页面对象 类型 javax.lang.Object 作用域 Page
out 输出对象 类型 javax.servlet.jsp.JspWriter 作用域 Page
config 配置对象 类型 javax.servlet.ServletConfig 作用域 Page
response 响应对象 类型 javax.servlet.SrvletResponse 作用域 Page
exception 例外对象 类型 javax.lang.Throwable 作用域 page

pageContext:
   控制作用域:
  参数:
     pageContext.PAGE_SCOPE
         pageContext.REQUEST_SCOPE
         pageContext.SESSION_SCOPE
         pageContext.APPLICATION_SCOPE
  例:
     pageContext.setAttribute("","",参数);
获取其他八个对象:
  pageContext.request

    获取值:
  pageContext.getAttribute("name")	//从当前作用域找
  pageContext.getAttribute("name",pageContext.REQUEST_SCOPE);//从指定作用域找

你可能感兴趣的:(jsp,java,servlet)