JSP知识点总结(更新中...)

(1)form表单中post和get方式的区别
1. get是从服务器上获取数据,post是向服务器传送数据。
2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3. 对于get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
4. get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5. get安全性非常低,post安全性较高。
(2)jsp和Java的区别
1.jsp不是编程语言,三个英文是java server pages的缩写
2.java是一种编程语言,jsp只是相当于java里面的servlet部分,网站可以单用java编写
3.jsp是运行在服务器上的,是建立在JAVA基础上的一种网络编程语言,只能在网页上应用。
(3)jsp页面转向
1.RequestDispatcher.forward()
forward()无法重定向至有frame的jsp文件,可以重定向至有frame的html文件,同时forward()无法在后面带参数传递,比如servlet?name=frank,这样不行,可以程序内通过 response.setAttribute("name",name)来传至下一个页面.
重定向后浏览器地址栏URL不变,通常在servlet中使用,不在jsp中使用。
2.response.sendRedirect()
是在用户的浏览器端工作,sendRedirect()可以带参数传递,比如servlet?name=frank传至下个页面,同时它可以重定向至不同的主机上,sendRedirect()可以重定向有frame.的jsp文件.
重定向后在浏览器地址栏上会出现重定向页面的URL,由于response是jsp页面中的隐含对象,故在jsp页面中可以用response.sendRedirect()直接实现重定位。
注意:
(1).使用response.sendRedirect时,前面不能有HTML输出。
(2).response.sendRedirect之后,应该紧跟一句return;
比较:
(1).Request Dispatcher.forward()是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;
(2).response.sendRedirect()则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。
前者更加高效,在前者可以满足需要时,尽量使用RequestDispatcher.forward()方法.
注:在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用HttpServletResponse.sendRequest()方法。
3.<jsp:forward page="" />
它的底层部分是由RequestDispatcher来实现的,如果在<jsp:forward>之前有很多输出,前面的输出已使缓冲区满,将自动输出到客户端,那么该语句将不起作用,这一点应该特别注意。
另外要注意:它不能改变浏览器地址,刷新的话会导致重复提交
4.修改HTTP header的Location属性来重定向
通过设置直接修改地址栏来实现页面的重定向。
jsp文件代码如下:
<%
response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);
String newLocn = "/newpath/jsa.jsp";
response.setHeader("Location",newLocn);
%>
5.JSP中实现在某页面停留若干秒后,自动重定向到另一页面
在html文件中,下面的代码:
<meta http-equiv="refresh" content="300; url=target.jsp">
它的含义:在5分钟之后正在浏览的页面将会自动变为target.html这一页。代码中300为刷新的延迟时间,以秒为单位。targer.html为你想转向的目标页,若为本页则为自动刷新本页。
由上可知,可以通过setHeader来实现某页面停留若干秒后,自动重定向到另一页面。
关键代码:
String content=stayTime+";URL="+URL;
response.setHeader("REFRESH",content);
(4)jsp隐含对象(内置对象)
request,response,page,session,application,out,exception,config,pageContext
(5)过滤器的作用用途
过滤器是向Web应用程序的请求和响应处理添加功能的Web服务组件,过滤器是一个对象,它根据用户的请求和资源的响应进行过滤
(6)jsp与servlet的异同
jsp最终被编译器编译成servlet,本质没有区别,只是JSP易于显示内容,是为了弥补servlet的不足
(7)RequestDispatcher类的作用
requestDispatcher 是一种请求分派的机制,通过请求分派可以从当前的位置到uri,并且浏览器不显示出uri的位置:
ResponseDispatcher rs = request.getRequestDispatcher("index.jsp");
就是把当前的请求分派到index.jsp页面中去
(8)MVC是三个单词的缩写,分别为: 模型(Model),视图(View)和控制Controller)。
MVC模式的目的就是实现Web系统的职能分工。 Model层实现系统中的业务逻辑,通常可以用JavaBean或EJB来实现。
View层用于与用户的交互,通常用JSP来实现。 Controller层是Model与View之间沟通的桥梁,
它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作。
(9) Javabean的作用:1.可重用组件 2.可在多个应用程序中使用 3.可以跨平台
Javabean的用法:1.在JSP中,我们可通过JSP中的<jsp:useBean>、<jsp:setProperty>及<jsp:getProperty>这三个标准操作元素来使用JavaBean。
这三个标准元素分别是用来使用JavaBean、设置以及取得JavaBean的属性。

usebean的作用是初始化一个“class”属性所指定的bean的实体,并将该属性实体命名为“id”属性所指定的值
用法:<jsp:usebean id="BeanID" class="MyBean" scope="page"/>
(10) doget和dopost的作用和用法:doget是用于接受get请求,dopost是用于接受post请求;
当action=“get”是采用doget方法;当action=“post”是采用dopost方法;
(11) ajax用到的类xmlhttprequest,完成数据层面的交换, 不用每次都刷新界面也不用每次将数据处理的工作提交给服务器来做。

XMLHttpRequest主要方法:
abort():停止当前请求
getAllResponseHeaders():作为字符串返问完整的headers
getResponseHeader("headerLabel"):作为字符串返问单个的header标签
setRequestHeader("label", "value"):设置header并和请求一起发送
open("method","URL"[,asyncFlag[,"userName"[, "password"]]]):设置未决的请求的目标URL, 方法, 和其他参数
send(content):发送请求,get模式下为null,post模式下要自己拼接参数串

XMLHttpRequest主要属性:
onreadystatechange: 状态改变的事件触发器(设置回调方法)
readyState: 对象状态(integer):
0 = 未初始化 1 = 读取中 2 = 已读取
3 = 交互中 4 = 完成
responseText: 服务器进程返回数据的字符串形式
responseXML: 服务器进程返回数据的兼容DOM的XML文档对象
status: 服务器返回的状态码
如:404 ="文件未找到"、200 ="成功"
statusText: 服务器返回的伴随状态码的字符串信息
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值