一.概念:
- 在HTML中嵌入java脚本代码
- 由应用服务器中的jsp引擎来编译和执行嵌入的java脚本代码
- 然后将生成的整个页面信息返回给客户端
- 继承了HttpJspBase
public final class index_jsp extends org.apache.jasper.runtime.HttpJspBase
public abstract class HttpJspBase extends HttpServlet - 不能在地址栏通过WEB-INF/index.jsp去访问,因为WEB-INF是安全的,不可以访问
- tomacat默认的端口号是8080,如果要改,要修改Tomcat里面的server.xml文件
- jsp由哪几个元素构成:静态内容,指令,表达式,小脚本,声明,注释
- 404和500错误:404路径错误,页面找不到,500编译错误,数据格式异常
- throw和throws的区别:
- throws: 跟在方法声明后面,后面跟的是异常类名 ,可以跟多个异常类名,用逗号隔开,表示抛出异常,由该方法的调用者来处理,throws表示有出现异常的可能性,并不一定出现这些异常
- throw: 用在方法体内,后面跟的是异常类对象名 ,只能抛出一个异常对象名 ,表示抛出异常,由该方法体内的语句来处理,throw则是抛出了异常,执行throw一定出现了某种异常
二.Web容器处理jsp文件请求需要经过三个阶段:
- 翻译阶段
- 编译阶段
- 执行阶段
三.内置对象:不需要自己造的对象,一共有9个。
是web容器创建的对象,服务器创建的。
request 请求对象 类型javax.servlet.ServletRequest 作用域Request
response 响应对象 类型javax.servlet.SrvletResponse 作用域Page
pageContext 页面上下文对象 类型 javax.servlet.jsp.PageContext 作用域 Page
session 会话对象 类型javax.servlet.http.HttpSession 作用域Session
application 应用程序对象 类型 javax.servlet.ServletContext 作用域 Application
out 输出对象 类型javax.servlet.jsp.JspWriter 作用域Page
config 配置对象 类型javax.servlet.ServletConfig 作用域Page
page 页面对象 类型 javax.lang.Object 作用域 Page
exception 例外对象 类型 javax.lang.Throwable 作用域 page
- 作用域对象,pageContext,request,session,application,都有.setAttribute("",""); .getAttribute("");方法,作用域大小依次递增:
- application:服务器启动到停止这段时间。
session:HTTP会话开始到结束这段时间。
request:HTTP请求开始到结束这段时间。
pageContext:当前页面从打开到关闭这段时间) - 跳转:两种方式:重定向和转发
- 重定向:不能携带参数,转发地址栏不发生变化,但实际上去了另一个页面
四:异常的类型:
-
Exception的分类:
1.Checked Exception(非Runtime Exception)
2.Runtime Exception -
常见异常类型:
IOException:当发生某种I/O异常时,抛出此异常。此类是失败或中断的I/O操作生成的异常的通用类。IllegalArgumentException:抛出的异常表明向方法传递了一个不合法或不正确的参数。
NullPointerException:当应用程序试图访问空对象时,则抛出该异常。
SQLException:提供关于数据库访问错误或其他错误信息的异常。
IndexOutOfBoundsException:指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。
NumberFormatException:当应用程序试图将字符串转换成一种数值类型,但该字符串不能转换为适当格式时,抛出该异常。
FileNotFoundException:当试图打开指定路径名表示的文件失败时,抛出此异常。
ClassCastException:当试图将对象强制转换为不是实例的子类时,抛出该异常。
ArrayStoreException:试图将错误类型的对象存储到一个对象数组时抛出的异常。
ArithmeticException:当出现异常的运算条件时,抛出此异常。例如,一个整数“除以零”时,抛出此类的一个实例。
NoSuchMethodException:无法找到某一特定方法时,抛出该异常。
SecurityException:由安全管理器抛出的异常,指示存在安全侵犯。
RuntimeExceptionRuntimeException:是那些可能在Java虚拟机正常运行期间抛出的异常的超类