servlet里的dopost
和doget分别是做什么的?
首先你要明确servlet的生命周期和HTTP协议.
Serlvet接口只定义了一个服务方法就是service,而HttpServlet类实现了该方法并且要求调用下列的方法之一:
doGet:处理GET请求
doPost:处理POST请求
当发出客户端请求的时候,调用service
方法并传递一个请求和响应对象。Servlet首先判断该请求是GET
操作还是POST 操作。然后它调用下面的一个方法:doGet 或
doPost。如果请求是GET就调用doGet方法,如果请求是POST就调用doPost方法。doGet和doPost都接受请求(HttpServletRequest)和响应(HttpServletResponse)。
public void doPost(HttpServletRequest
request,HttpServletResponse)
throws ServletException,IOException
{
doGet(request,response);
}
doget 是接收网页用get方法时调用的
dopost 是用来接收post方法的
get方法就象你在网页的地址栏里看到的一堆乱码,也就是url后面有参数
post就是用表单传过去的,就好象把数据都打成包发过去一样
其实知不知道都没什么,你可以在servlet里把功能都写到一起
然后在一个方法里调用另一个方法就可以了
比如
public void doPost(HttpServletRequest
request,HttpServletResponse)
throws ServletException,IOException
{
doGet(request,response);
}
根据我平时用下来还有和别人交流的时候的结果
是:
在用GET来提交密码的时候是不安全的,在用SERVLET转的时候密码会出现在地址栏,这个应该不是我们想见到的吧。。。
而改为POST就好了!~
其他基本都可以混用的,就是用在《form》表单里
而我朋友说POST多用于大量数据的提交,而GET用于小量数据更快!~
在大家学习Servlet和Jsp之前我还是要提醒一下:
本质上说Servlet就是一个实现Servlet接口的、部署于服务器端的服务器端的程序罢了!它可以象写其它任何java应用程序一样编写,它可以操作数据库、可以操作本地文件、可以连接本地EJB……编写Servlet程序的一般流程为:
1. 继承一个HttpServlet类;
2. 覆盖其doGet、doPost方法;
3.
在覆盖方法的内部操作方法参数HttpServletRequest和HttpServletResponse。
4.
读取请求利用HttpServletRequest。利用HttpServletRequest你可以操作Http协议的协议头、可以得到请求的操作方法、可以得到请求的路径、可以得到请求的字符串、以及和请求客户相关的信息,更主要的你可以得到Cookie和HttpSession这两个对象。
5.
利用Cookie你可以操作“甜心”对象或者将其写入HttpServletResponse中。
6.
向客户输出信息可以使用HttpServletResponse。使用HttpServletResponse可以写入各种类型的协议头、可以增加Cookie、可以重定向其它URL、可以向客户发送Http协议的状态码。
7. 利用HttpSession在会话内完成你想实现的任何功能。
同时Servlet还提供了一些事件和事件监听器(简单的观察者模式而已)。还有就是过滤器(Filter)和包装器(ServletRequestWrapper、ServletResponseWrapper)――简单的流的使用和装饰器模式的使用。
学习Sevlet、JSP必然要部署到服务器中,记住通常文件部署的步骤和参数的设置以及在程序中如何使用就可以了。
完全理解Servlet后,学习jsp相对比较容易了!Jsp完全建立在Servlet的基础上,它是为了迎合那些喜欢在Html文档中嵌入脚本(如:PHP之类的网页编程语言)的程序员的需要罢了!学起来也相当的容易!
一切看起来似乎那么的风平浪静,简单好学!简单的表象背后有其复杂的机理。要想对Servlet和Jsp彻底研究,你得研究Tomcat等开源软件的具体实现。它无非就是一个服务器,在客户利用网页通过HTTP协议向服务器发送请求后,服务器将此HTTP请求转化为相应的
HttpServletRequest对象,调用你编写的Servlet罢了,在你的Servlet中你肯定操作了此
HttpServletRequest了吧,同时操作了HttpServletResponse了吧,服务器就将此
HttpServletResponse按照HTTP协议的要求利用HTTP协议发送给你的浏览器了!在服务器端的Jsp网页在被客户请求后,
Tomcat会利用编译软件,使用javax.servlet.jsp包中的模板,编译此jsp文件,编译后就是一个Servlet!以后的操作和
Servlet完全一样哦!
在Servlet和Jsp的基础上出现了,所谓的高级技术:JSTL,Struts……无非就是一些标签和MVC模式的使用。