jsp工作原理:
client
client (客户端) 发送请求------》Server(服务器端)---------》如果该jsp页面的第一次请求,会编译成Servlet-------》Servlet动态生成html页面返回到client
client
(因为Servlet是单例,所以所有Client访问是同一个servlet)
jsp与servlet的区别:
servlet做为web应用中得控制器组件来使用。
Jsp技术作为数据显示模板来使用。
Servlet负责响应请求产生数据,并把数据通过转发通过转发技术带给jsp.数据的显示交给jsp来做。
jsp的3个编译指令
1.page
<%@ page contentType="text/html;charset=gb2312" %>,
2.include
<%@include file="fileURL" %>
3.taglib
jsp的7个动作指令
jsp的9个内置对象
1.application对象 存放全局变量。它开始于服务器的启动,直到服务器的关闭
你是第<%=application.getAttribute("count")%>位访问者
2.config对象 配置信息如(web.xml)
3.exception对象异常
4.out对象是JspWriter类的实例,是向客户端输出内容常用的对象
<body>
<%
for(int i=0;i<2000;i++)
out.println(i+"{"+out.getRemaining()+"}");
%><br>
5.page对象page对象就是指向当前JSP页面本身,有点象类中的this指针
6.request对象 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求
请求方式:<%=request.getMethod()%><br>
请求的资源:<%=request.getRequestURI()%><br>
请求用的协议:<%=request.getProtocol()%><br>
请求的文件名:<%=request.getServletPath()%><br>
请求的服务器的IP:<%=request.getServerName()%><br>
请求服务器的端口:<%=request.getServerPort()%><br>
客户端IP地址:<%=request.getRemoteAddr()%><br>
客户端主机名:<%=request.getRemoteHost()%><br>
表单提交来的值:<%=request.getParameter("qwe")%><br>
tring[] getParameterValues(String name) 返回包含参数name的所有值的数组
转发 :request.getRequestDispatcher('a.jsp').forward(request,response)
7.response对象对象包含了响应客户请求的有关信息
1.输出字符流和图片
2.重定向 request.sendRedirect('a,jsp')
8.session对象 session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
9.pageContext对象 对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。