jsp学习笔记
1.1 jsp
java服务器页面,其根本是一个简化的Servlet设计,jsp是在传统的html网页中插入了java程序段和jsp标记,从而形成jsp文件,jsp开发的应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
1.2 javaweb 用Java技术解决相关web互联网领域问题的技术总称。
1.3 jsp语法格式:
<%!String str=“shi”;%>
<%out.println(“hello word”);%>
<%
java代码
%>
1.4 jsp内置对象
内置对象(9种内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用
(1)request对象:封装了由Web浏览器或其他客户端生成http请求的细节(参数,属性,头标和数据)
(2)out对象:代表输出流的对象
(3)response对象:封装了返回到http客户端的输出,由页面作者提供设置响应头和状态码的格式
(4)pageContext对象:提供了转发请求到其他资源和包含其他资源的方法,提供获取其他内置对象的方法
//转发
<% pageContext.forword("a.jsp");%>
//包含
<% pageContext.include("a.jsp");%>
(5)session对象:主要用于跟踪回话。什么是会话?会话代表用户第一次进入当前系统直到退出系统或关闭浏览器,在此期间与服务器的一种交互。
(6)config对象:获取配置信息
(7)exception对象:异常对象
//exception对象只能在错误页面中使用 page加入属性isErrorPage=“true”
//有一个页面出现了异常,在页面中指定一个错误处理的页面,page指令当中,errorpage来指定
//加入属性<%@ page language="java" contentType="text/html;charset=utf-8" errorPage="error.jsp"
(8)page对象:代表了正在运行的由jsp文件产生的类对象,一般用this代表当前page对象
(9)application对象:提供了服务器版本,应用级初始化参数和应用内资源绝对路径方式
作用域:pageContext,request,session,applicatioon
(1)request作用域:在相邻的两个web资源之间共享同一个request请求对象时使用
(2)pageContext作用域:当前执行页面
(3)session作用域:会话期间
(4)application作用域:web容器的生命周期
xml
xml:可扩展标记语言,允许开发者自定义标签,可以将标签和内容有效分离,xml不再侧重于数据如何展示,而是更多的关注数据如何存储和运输
应用场景:xml把数据从html分离出来
Servlet
**servlet路径问题:**动态获取路径:
<% String basePath=rquest.getScheme()+":"+"//"+request.getServerName()+":"+request.getServerPort+"/"+request.getServerContext().getContextPath();
servlet中init()方法只被调用一次,每次请求调用的是service方法,destroy()方法销毁servlet,当工程从Tomcat中移除的时候,destrory()方法才会被调用。
整个javaweb工程也可以用一个对象来表示,这个对象就是ServletContext类型。在web.xml
文件中给某一个Servlet配置一些配置信息,当Tomcat启动的时候,这些配置信息就会被封装到某一个ServletConfig对象中去,因此ServletConfig表示的是某一个Servlet的配置文件。
MVC模式
M:model -模型层-javabean-数据封装
V:view-视图层-jsp 数据显示
C:controller-控制层 servlet 处理请求