JSP基础使用
一、JSP的介绍与创建
JSP的全称是Java Server Pages,即Java的服务器页面
JSP的主要作用是代替Servlet程序回传HTML页面的数据
二、JSP的本质
JSP页面本质上是一个Servlet程序,第一次访问JSP页面时(运行Tomcat服务器后在浏览器地址栏输入路径),Tomcat服务器会将此JSP页面翻译成为一个Java源文件,并对其进行编译成为.class字节码文件(一个.java,一个.class)。
三、常用属性
- contentType属性:表示JSP返回的数据类型是什么
- language属性:表示JSP翻译之后是什么语言文件
- mport属性:表示导包(导类),与Java一致
- errorPage属性:设置当JSP页面运行出错时自动跳转到的页面(错误信息页面)的路径
- session属性:设置访问当前JSP页面时是否会创建HttpSession对象,默认值是true
- extends属性:设置JSP页面翻译出来的Java类默认继承谁
四、常用脚本
- 声明脚本
格式:<%! 声明Java代码 %>
作用:可以给JSP翻译出来的Java类定义属性、方法、静态代码块、内部类等
特点:不会在浏览器的页面上显示出来,仅存在于翻译后的Java类中 - 表达式脚本
格式:<%=表达式 %>
作用:在浏览器的JSP页面上输出数据(只有此脚本可以在浏览器的页面上输出数据)
特点:
(1) 所有的表达式脚本都会被翻译到对应的Java类的_jspService()方法中,故表达式脚本可以 直接使用_jspService()方法参数中的对象
(2) 表达式脚本都会被编译后的Java类中的out.print()方法输出到浏览器页面上
(3) 表达式脚本中的表达式不能以分号结束 - 代码脚本
格式:<% Java语句 %>
作用:在JSP页面中可以编写需要的Java代码
特点:
(1) 代码脚本翻译后都在_jspService方法中,故代码脚本可以直接使用此方法参数中的对象
(2) 可以由多个代码脚本块组合完成一个完整的Java语句
(3) 代码脚本还可以和表达式脚本一起组合使用,在JSP页面上输出数据
五、JSP九大内置对象
- request:请求对象
- response:响应对象
- pageContext:JSP的上下文对象
- session:会话对象
- application:ServletContext对象
- config:ServletConfig对象
- out:JSP输出流对象
- page:指向当前JSP的对象
- exception:异常对象
六、JSP四大域对象
- pageContext:当前jsp页面范围内有效
- session:从浏览器打开到浏览器关闭
- request:一次请求有效
- application:web服务器有效
七、转发和重定向
- 转发使用的是getRequestDispatcher()方法;重定向使用的是sendRedirect();
- 转发:浏览器URL的地址栏不变。重定向:浏览器URL的地址栏改变;
- 转发是服务器行为,重定向是客户端行为;
- 转发是浏览器只做了一次访问请求。重定向是浏览器做了至少两次的访问请求;
- 转发2次跳转之间传输的信息不会丢失,重定向2次跳转之间传输的信息会丢失(request范围)。
- 重定向可以跨域访问,而转发是在web服务器内部进行的,不能跨域访问;