- 浏览: 81036 次
- 性别:
- 来自: 陕西
文章分类
- 全部博客 (53)
- java开发 (27)
- C# (5)
- Extjs (0)
- Python (3)
- 数据库 (5)
- Flex (3)
- Oracle (3)
- mysql (2)
- javaScript (1)
- jsp/servlet (1)
- 数据结构和算法 (6)
- spring (2)
- struts (1)
- Hibernate (3)
- Ibatis (0)
- UML (0)
- Jquery (0)
- android (0)
- 数据结构和算法,排序 (4)
- Linux (2)
- C/C++ (1)
- 工具使用 (4)
- flex,java (1)
- http://irfen.iteye.com/blog/1174699 (0)
- SEO (1)
- java (1)
最新评论
-
eagle59:
谢谢分享。。。。
java SSH面试资料 -
樊明涛:
写的很不错!perfect!
java文件操作2
GET与POST的区别:
一、Get是从服务器上获取数据,Post则是向服务器传送数据;
二、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL地址的后面,并且两者用“?”连接,而各个变量之间使用“&”连接。Post是将表单中的数据放在form的数据体中(或者说把内容放在了http消息体里),按照变量和值相对应的方式,传递到action所指向URL;
所以从上第二点也可以得到另外两个结论:
1、Get传送的数据量较小,不能大于2KB,这主要是因为受URL长度限制。
Post传送的数据量较大,所以在上传文件只能使用Post(注意在文件上传时还要加上enctype="multipart/form-data"作为上传文件的标识)。一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;
2、Get安全性非常低(因为用户可以通过URL看到)
Post安全性较高(其所有操作对用户来说都是不可见的)。但是执行效率却比Post方法要高点(优点造就了其缺点);
总结:
a、如果是包含机密信息的话,建议用Post数据提交方式;
b、当数据处理不改变数据模型的状态则推荐使用Get方式,例如在做数据查询。而操作改变了数据模型的状态时,则建议使用Post方式,例如数据添加、修改或删除,送电子邮件等;
三、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集,所以说在出现一些乱码时有时候可以将Get请求换为Post请求;
四、Get是Form的默认方法;
五、Get方式提交来的数据在服务器端用Request.QueryString()来获取,用Post方式提交的数据用Request.Form()来获取;
服务器端跳转与客户端跳转:
首先我们需要理解什么是服务器端跳转,什么是客户端的跳转。简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),而客户端跳转是指地址栏内容发生改变(客户端向服务器发请求偶,然后服务器再给客户端一个响应,然后客户端再根据服务器端给的响应中的URL再向服务器发送请求,所以是两次请求,因此地址栏改变了显示最后一次请求地址);
Java中服务器端跳转:
1、request.getRequestDispatcher("success.jsp").forward(request,response),它是只要执行到此语句之后则立刻进行跳转,可以传递request属性;
2、<jsp:forward>,这种跳转属于无条件跳转,它只能在栈内转,而sendREdirect中则可以任意转,甚至可以输入baidu;
客户端跳转:
1、response.sendRedirect("fail.jsp"),所有页面执行完之后再进行跳转,不能传递request范围的属性,但是可以通过地址重写的方式向跳转页传递参数,因为该方法执行完之后就相当于一次http request的结束,这是服务器会向客户端发送302状态码和新的url,告诉客户端重新发送request请求到新的url,然后客户端照此执行,执行即新的请求响应流程开始,服务器再重新创建HttpServletRequest对象和HttpServletResponse对象,此时两个请求已经不在一个线程了,所以request和response对象都不是开始的那个了;
2、response.setHeader("refresh","2;URL=index.jsp"),2秒后跳转到其他页面;
3、<a href="http://www.baidu.com">百度</a>,超链接;
4、表单提交;
通过以上可以得知,如果现在一个页面中使用了JDBC,则应该在forward跳转之前关闭数据库链接,而使用respose则可以在任意的位置处关闭;
注意:
1、客户端跳转“/”代表服务器路径webapps,即服务器根路径,服务器端跳转“/”代表站点根路径,即应用程序根路径;
2、尽量使用response.sendRedirect("fail.jsp")而不去使用forward,因为当服务器崩溃了,那么sendRedirect则就会起很大的好处了。
一、Get是从服务器上获取数据,Post则是向服务器传送数据;
二、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL地址的后面,并且两者用“?”连接,而各个变量之间使用“&”连接。Post是将表单中的数据放在form的数据体中(或者说把内容放在了http消息体里),按照变量和值相对应的方式,传递到action所指向URL;
所以从上第二点也可以得到另外两个结论:
1、Get传送的数据量较小,不能大于2KB,这主要是因为受URL长度限制。
Post传送的数据量较大,所以在上传文件只能使用Post(注意在文件上传时还要加上enctype="multipart/form-data"作为上传文件的标识)。一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB;
2、Get安全性非常低(因为用户可以通过URL看到)
Post安全性较高(其所有操作对用户来说都是不可见的)。但是执行效率却比Post方法要高点(优点造就了其缺点);
总结:
a、如果是包含机密信息的话,建议用Post数据提交方式;
b、当数据处理不改变数据模型的状态则推荐使用Get方式,例如在做数据查询。而操作改变了数据模型的状态时,则建议使用Post方式,例如数据添加、修改或删除,送电子邮件等;
三、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集,所以说在出现一些乱码时有时候可以将Get请求换为Post请求;
四、Get是Form的默认方法;
五、Get方式提交来的数据在服务器端用Request.QueryString()来获取,用Post方式提交的数据用Request.Form()来获取;
服务器端跳转与客户端跳转:
首先我们需要理解什么是服务器端跳转,什么是客户端的跳转。简单理解所谓服务器端跳转就是指地址栏内容不变(客户端浏览器的地址栏不会显示目标地址的URL),而客户端跳转是指地址栏内容发生改变(客户端向服务器发请求偶,然后服务器再给客户端一个响应,然后客户端再根据服务器端给的响应中的URL再向服务器发送请求,所以是两次请求,因此地址栏改变了显示最后一次请求地址);
Java中服务器端跳转:
1、request.getRequestDispatcher("success.jsp").forward(request,response),它是只要执行到此语句之后则立刻进行跳转,可以传递request属性;
2、<jsp:forward>,这种跳转属于无条件跳转,它只能在栈内转,而sendREdirect中则可以任意转,甚至可以输入baidu;
客户端跳转:
1、response.sendRedirect("fail.jsp"),所有页面执行完之后再进行跳转,不能传递request范围的属性,但是可以通过地址重写的方式向跳转页传递参数,因为该方法执行完之后就相当于一次http request的结束,这是服务器会向客户端发送302状态码和新的url,告诉客户端重新发送request请求到新的url,然后客户端照此执行,执行即新的请求响应流程开始,服务器再重新创建HttpServletRequest对象和HttpServletResponse对象,此时两个请求已经不在一个线程了,所以request和response对象都不是开始的那个了;
2、response.setHeader("refresh","2;URL=index.jsp"),2秒后跳转到其他页面;
3、<a href="http://www.baidu.com">百度</a>,超链接;
4、表单提交;
通过以上可以得知,如果现在一个页面中使用了JDBC,则应该在forward跳转之前关闭数据库链接,而使用respose则可以在任意的位置处关闭;
注意:
1、客户端跳转“/”代表服务器路径webapps,即服务器根路径,服务器端跳转“/”代表站点根路径,即应用程序根路径;
2、尽量使用response.sendRedirect("fail.jsp")而不去使用forward,因为当服务器崩溃了,那么sendRedirect则就会起很大的好处了。
发表评论
-
Flex+spring+hibernate+mysql+blaze DS框架搭建
2015-04-10 09:35 812以前在项目中使用Flex+spring+hibernate ... -
java使用配置文件连接mysql
2015-04-10 09:30 926java程序中连接数据库的方式很多,有的是在程序代码中直接 ... -
http://blog.mn886.net/jqGrid/
2014-12-01 13:47 0/WEB-INF/conf/,web.xml去掉classpa ... -
java中读取服务器配置文件方法
2014-07-30 10:00 1093在程序开发和设计中,我们经常把一些需要改变的数值配置在文件中, ... -
flex 安全沙箱冲突问题
2012-08-29 17:23 2167问题出现情况: 我们采用myeclipse+spring+fl ... -
flex 使用swfLoad注意事项(转)
2012-07-25 19:38 2360var swf : SWFLoader = new SWFLo ... -
javascript获取jsf table值
2012-04-25 21:38 1351这是一个jsf 中的table,我们可以通过javascrip ... -
java 读写Excel (支持office 2007)
2012-04-25 21:21 1285/** * EXCEL文档解析工具类 该工具能将EXCEL文 ... -
java读取Excel文档
2012-02-06 16:29 1191package cn.ccb.odsbsx.common.ut ... -
java 操作csv文件
2012-02-06 16:28 1397package cn.ccb.odsbsx.common.ut ... -
java压缩文件或文件夹
2011-12-31 08:59 1132/** * @param inputFilePath ... -
分享java解析XML文件(来源于网上)
2011-12-25 15:00 10881.介绍 1)DOM(JAXP ... -
汉诺塔java算法
2011-12-23 16:15 1945package wgy; import java.io.Bu ... -
java最大子序列和算法分析
2011-12-23 15:28 2016/** * 算法一 */ public int ma ... -
java实现全排列
2011-12-21 09:16 1031package wgy; import java.util. ... -
java SSH面试资料
2011-12-20 10:15 2814Java---SSH(MVC) 1. 谈谈你mvc ... -
spring面试资料
2011-12-20 10:11 1770* Spring的优点有什么? 1. Spring是分层的架 ... -
java排序算法综合
2011-12-20 10:01 1068package temp; import sun ... -
java排序算法
2011-12-18 19:48 15991.判断链表是否存在环型链表 问题:判断一个链表是否存在环,例 ... -
员工在线考试(简单)
2011-11-20 19:14 843一个简单的员工在线考试系统。
相关推荐
### Java高级面试框架知识点整理 #### Struts框架详解 **1. Struts框架的基本结构** - **MVC模式实现:** Struts是一个基于MVC(Model-View-Controller)模式的Web应用框架,其中Controller部分主要由一个Servlet...
第一种是通过元素的submit()方法来提交表单,这种方式会触发form的onsubmit事件,允许开发者在表单提交之前执行一些操作。需要注意的是,这种方式会干扰浏览器对form的正常提交行为。第二种方式是使用AJAX技术在...
1. action属性:它指定了表单提交后数据要发送到的URL。这个URL可能是服务器上处理表单数据的脚本或程序。如果action为空或未指定,表单数据将提交到当前页面。 2. method属性:此属性定义了表单数据如何发送到...
该系统主要利用PDF表单的强大功能和JSP技术,实现了在线和离线两种模式下的调查问卷功能。用户可以通过网页下载PDF格式的问卷,并完成填写后提交,或者直接在线填写问卷。提交后的问卷数据将被自动处理并存储到...
- **解释**:在EJB中,事务管理可以通过容器管理的事务(Container Managed Transaction, CMT)和Bean管理的事务(Bean Managed Transaction, BMT)两种方式进行。CMT由应用服务器自动管理事务边界,而BMT则需要...
### 自整理Java关于基础和框架的面试题 #### 基础知识点 ##### JDK常用的包 - **java.lang**: 包含所有基本类,如`String`、`Math`等。 - **java.util**: 提供集合框架、日期/时间设施、事件模型、杂项实用程序类...
4. **表单提交方法**:表单数据可以通过两种方式提交到服务器:`Post`方法和`Get`方法。`Post`方法将表单数据放在HTTP请求体中发送,适合于敏感数据或大数据量的传输;`Get`方法则将数据放在URL后面,适用于小量且不...
{8.3}创建线程的两种方法}{123}{section.8.3} {8.4}Runnable}{123}{section.8.4} {8.5}Sleep阻塞与打断唤醒}{124}{section.8.5} {8.5.1}sleep与wait的差异}{124}{subsection.8.5.1} {8.6}IO阻塞}{126}{section....
当用户提交表单时,元素会生成一个公钥和私钥对,私钥存储在用户客户端,而公钥则随表单一起发送给服务器。服务器可以利用这个公钥来验证用户客户端证书的有效性。这是一个比较高级的特性,主要用于需要安全验证的...
知识点解释:在 Web 开发中,表单数据可以通过两种方法提交到服务器:Post 方法和 Get 方法。Post 方法将数据发送到服务器的主体中,而 Get 方法将数据发送到服务器的 URL 中。 5. Filter 拦截请求和响应,以便查看...
分为有状态(Stateful)和无状态(Stateless)两种。 - 有状态(Stateful):服务器维护会话状态。 - 无状态(Stateless):每个方法调用都是独立的,不依赖于先前的状态。 - **Entity Beans**:表示持久化数据。...
实现方式有两种:饿汉式(静态代码块)和懒汉式(双重检查锁定)。 #### 13. wait和sleep的区别 - `wait` 方法需要在 `synchronized` 块或方法中使用,并且会导致线程释放锁。 - `sleep` 方法是 Thread 类的方法,...
74. **submit**: 提交,表单提交事件。 75. **parseInt**: 将字符串解析为整数。 76. **parseFloat**: 将字符串解析为浮点数。 77. **alert**: 显示警告对话框。 78. **confirm**: 显示确认对话框。 79. **...
- **表单提交**:通过`<form>`元素提交表单数据。 - **JavaScript AJAX调用**:使用JavaScript发起异步请求,获取并处理服务器响应的数据。 #### 10. 事务处理 事务是一组操作序列,这些操作要么全部成功,要么...
Http处理流程包括建立连接、发送请求、接收响应和关闭连接,GET和POST是两种主要的请求方式。GET请求常用于获取信息,而POST请求可以传递更复杂的数据,包括二进制数据。在HTML表单中,可以通过method属性设置提交...
有时我们需要将当前页面的URL作为参数传递到另一个页面,下面的两种JS方法可以实现: ```javascript // 第一种方法 window.location.href = "login.jsp?backurl=" + window.location.href; // 第二种方法 // ...
它提供了安全的表单提交,防止了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)。此外,通过拦截器,你可以实现自定义的身份验证和授权机制。 除了基本功能,Struts2还与其他开源库无缝集成,如Hibernate(持久层框架...