JAVAWEB系列2-1
Jsp基本使用
El表达式
JSTL
Listener
Filter
Ajax
JDBC
Junit
JSP基本的使用:
JSP:java server pages 定义:是一种***页技术,将Java代码和特定变动内容嵌入到静态的页面中,实现以静态页面为模板,动态生成其中的部分内容 JSP的指令:用来设置整个JSP页面相关的属性,如网页的编码方式和脚本语言。 Page指令:定义网页依赖属性,比如脚本语言、error页面、缓存需求等等 基本的指令: Session:指定jsp页面是否使用session Language:定义jsp页面所用的脚本语言 Contentype:指定jsp页面的MIME类型和字节编码 PageEncoding:把jsp翻译为utf编码代码的java代码的时候的编码 Import:导入要使用的java类 Errorpage:当jsp页面出现错误的时候转向的错误页面 IdErrorage:指定当前页面是否可以作为另一个jsp页面的错误处理页面 taglib指令:用来声明此JSP文件使用了自定义标签,同时引用所指定的标签库并设置标签库的前缀。 使用:<%@ taglib uri="URIToTagLibrary" prefix="tagprefix"%> uri属性用来指定标签库的存放位置 prefix属性用来指定该标签库使用的前缀。 Include指令:包含其他文件 使用:<%@ include file="文件相对 url 地址" %>
动作指标:在进行请求处理阶段起作用
基本的语法:<jsp:action_name attribute="value" /> Jsp:include:在页面被请求的时候,引入第一个文件 Jsp:forward:把请求转换到另外一个页面 Jsp:useBean:寻找或者实例化一个javabean Jsp:setProperty:设置javabean的属性 Jsp:getProperty:获取某个javaBean的属性 Jsp:param:用于传递参数 使用方法:<jsp:param name="name" value="value"/> name必须是字符串,不接受字符串
内置对象
在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用 对象分类: 输出输入对象:request对象、response对象、out对象
Requests常用方法:
request.getRequestURL(): 浏览器发出请求时的完整URL,包括协议 主机名 端口(如果有)" request.getRequestURI(): 浏览器发出请求的资源名部分,去掉了协议和主机名" request.getQueryString(): 请求行中的参数部分,只能显示以get方式发出的参数,post方式的看不到 request.getRemoteAddr(): 浏览器所处于的客户机的IP地址 request.getRemoteHost(): 浏览器所处于的客户机的主机名 request.getRemotePort(): 浏览器所处于的客户机使用的网络端口 request.getLocalAddr(): 服务器的IP地址 request.getLocalName(): 服务器的主机名 request.getMethod(): 得到客户机请求方式一般是GET或者POST
通信控制对象
pageContext对象、session对象、application对象
Servlet对象
page对象、config对象
错误处理对象
exception对象
四大作用域:
定义:在web应用中 , JSP创建的对象有一定的生存周期 , 可以被其它组件或其它对象访问 , 对象的生存周期及可访问性称为作用域 分类:<作用域由大至小> Application(应用域):所有用户共享 整个应用是指从应用启动,到应用结束 Session(会话域):一次请求访问的多个请求间 从用户打开浏览器开始,到用户关闭浏览器这中间的过程。 Request(请求域):一次请求访问多个资源 request里的变量可以跨越forward前后的两页。但是只要刷新页面,它们就重新计算了 Pagecontext(页面域): 仅限于用户请求的当前页面
request和page的生命周期都是短暂的,它们之间的区别:一个request可以包含多个page页(include,forward及filter)
Jsp的跳转
客户端跳转:地址栏发生了变化 客户端发出请求,得到要跳转的资源,于是再发出一次请求得到最终的资源,客户端进行了两次请求 <% response.sendRedirect("index.jsp"); 服务器端跳转:地址栏发生不改变 当客户端请的资源没有回应以后,发现请求的文件要进行跳转,于是服务器自己进行跳转,返回跳转以后的资源,客户端只进行了一次请求 <jsp :foreward page=”index.jsp”/> request.getRequestDispatcher("index.jsp").forward(request, response);
Context的使用
Pagecontext: 设定:<% pageContext.setAttribute("name","hct");%> 获取:<%=pageContext.getAttribute("name")%> 在一个页面的时候,可以直接获取。不是一个界面的时候,需要使用include,才能获取。 RequestContext: 设定:<% request.setAttribute("name","hct");%> 获取: <%=request.getAttribute("name") %> 结合跳转,实现内容的传递 服务端跳转:因为是同一次请求,所以可以获取到内容 客户端跳转:因为进行了多次请求,故不可以获取到内容 SessionContext: 设定:<% session.setAttribute("name","hct");%> 获取:<%=session.getAttribute("name") %> 只有再同一个用用户之间进行数据的传递 ApplicationContext: 设定:<% application.setAttribute("name","hct");%> 获取:<% application.setAttribute("name","hct");%> 全局设定,所有用户均可以使用