web学习之jsp一
来源:互联网 发布:中介者模式 java 编辑:程序博客网 时间:2024/06/11 22:59
JSP(java Servlet page)
1. jsp的执行顺序(jsp最终执行的还是转换的servlet程序)
A. 查找jsp-à
B. 如果是第一次执行或修改,就会生成.java(servlet),然后由JSDK编译成. class
(路径:tomcat/work / catalina /localhost/ test/ org/ apache /jsp)
如果不是第一次修改或没有修改,会跳过这一步
C. 执行相对应的.class字节码
2. jsp中嵌套的 java放在<% %>中 称为jsp元素(java脚本)
3. 注释; html注释:<!-- -->
但是<!-- <%= new java.util.Date() %> --> 在java代码中执行
隐藏注释(jsp注释):<%-- --%>
编译器指令 包含在 <%@ % >中
如<%@page language=”java” import=”java.util.*” %>
包含指令 <%@ include file=” ” %>
声明: <%! int a=3; %>
脚本段的 <% int b =3; %>
当服务器将jsp转换为servlet时,会将JSP中的声明转换为类的成员变量,而将脚本段转换为方法中的局部变量 Servlet是单实例的,这样成员变量的值就只有一个,每个用户在访问到它,而脚本段中的值则是局部变量,每个用户访问的时候各有一份,互不影响。
4. 包含指令 <%@ include file=” ” %> 用于在客户端指定位置显示相同的jsp执行结果。
5. <jsp:forward page=”forwardTo.jsp”>
<jsp:param name=”username” value=”lisa”>
</jsp:forward>
跳转到指定的页面,并传递参数,后面的内容不再执行。如果查看对应的java代码的话,就会发现跳转之后就是一个return,后面再没有内容。
6. <jsp:include page=”included.jsp”>
<jsp:param:name=”user” value=”user”>
</jsp:include>
与jsp:forward用法类似
7. 九个JSP的内置对象(常用的就三四个)
request 请求对象 (HttpServletRequest接口)
response 服务器的响应对象 (HttpServletResponse接口)
pageContext
session 会话对象 (HttpSession)
application 应用程序对象 (ServletContext)
out
config
page
exception
Request,Session,application
1. Request对象getParameter() getParameterValues() getParameterName()
getAttribute() setAttribute()
getParameter()是获取到客户端通过表单或Url请求参数所发送过来的参数值,是客户端与服务器端之间的交互,服务器端要想获取到客户端发送过来的数据,就需要使用getParmeter()来获取,没有与之相对应的setParameter()。
而getAttribute() setAttribute()是成对出现,首先通过setAttribute()设置属性与属性值,然后通过getAttribute()根据属性获取到与该属性对应的对象值(获取到之后一般都需要进行向下类型转换,将属性值转换为真正的对象),这两个都是在服务器端内部执行的,客户端不知道服务器端是否执行过这两个方法。
request对象内数据的存活范围就是request对象的存活范围内,当客户端向服务器端发送一个请求,服务器向客户端返回一个响应后,该请求就会被销毁了,之后再向服务器端发送新的请求时,服务器会创建新的request对象,该request对象与之前的request没有任何关系,因此也无法获得在之前的request对象中所存放的任何数据。
session对象内数据的存活范围也就是session对象的存活范围(只要浏览器不关闭,session对象就会一直存在??这句话是错误的。每一个浏览器启动时产生session对应一个sessionID)因此在同一个浏览器窗口中。无论向服务器端发送多少个请求,session对象只有一个
application(应用对象),存活范围最大的对象,只要服务器没有关闭,application对象中的数据就会一直存在,在整个服务器运行过程当中,application对象只有一个。
2. request,session,application这三个对象的范围是逐个增加的,request在一个请求的范围内,session是在浏览器窗口的范围内,application则是在整个服务器的运行过程中。
请求转发和重定向
1. A) HttpServletResponse`对象的sendRedirect(Stringlocation)方法称为重定向,如果location地址前加“/”,则表示相对于Servlet容器的根来请求,即http://localhost:8080. 如果location地址前没有加上“/”,则表示相对于当前请求的URL来寻址。
B) RequestDispatcher的forward(request,response)方法称为请求转发
2. 请求转发与重定向的区别
A)请求转发整个过程,整个过程处于同一个请求。
B)重定向:实际上客户端会向服务器端发送两个请求。
C)requestDispatcher是通过调用HttpServletRequest对象的getRequestDispatcher()方法得到的,属于请求对象的方法
D)sendredirect() 是HttpServletResponse对象的方法,即响应对象的方法,既然调用了响应对象的方法,那就表明整个请求过程已经结束了,服务器开始向客户端返回执行的结果。
- web学习之jsp一
- Java web学习笔记一:JSP学习
- Java Web学习笔记之JSP基础
- Java Web学习之JSP基本知识篇
- Java web 学习之jsp—javabean
- Web开发之-JSP学习总结-第一篇:JSP总结
- J2EE学习笔记一之JSP
- JAVAWeb之JSP学习笔记一
- jsp学习之内置对象一
- JSP学习笔记一之JSP的结构与生命周期
- Java Web学习(11):JSP九大内置对象(一)
- Java Web学习(16):JSP动作元素(一)
- Java Web学习(11):JSP九大内置对象(一)
- web前端学习之路(一)
- 学习web前端之练习一
- PYTHON学习之路一:WEB开发
- web开发之js学习(一)
- web学习-jsp
- 常用工具总结
- 反编译apk出现的问题
- 算法学习:看看深度优先搜索算法
- SVN自动同步资源库到某文件夹
- 在shell脚本中调用sftp免密码的配置
- web学习之jsp一
- 用JS获取地址栏参数的方法(超级简单)
- android MediaPlayer SurfaceView 网络视频播放器
- Android中Activity四种启动模式和taskAffinity属性详解
- hibernate4 入门
- Dynamics CRM 开启图表的3D效果展示
- 深入JVM系列(一)之内存模型与内存分配
- 在ListView上修改内容后的界面刷新和数据保存
- 数据结构 JAVA描述(五)哈夫曼树,树与森林