一.对于Servlet的理解
Servlet是一种服务器端的Java应用程序,按照它自身规范编写的Java类,具有独立与平台和协议的特性,可以生成动态的web网页。并且它还具备了一些CGI脚本不具备的独特优点。如:更持久、更快速、更安全、它还与平台无关、有一定的可扩展性等优势。
二.Servlet的通信方式(doGet/doPost)区别
在Servlet开发中,doGet()和doPost()分别处理get和post方法
1.doGet( )用来处理http的get、head请求(get 调用于从服务器获取资源)
doGet( ) 方法格式:
public void doGet(httpServletRequest request,HttpServletResponse response)
throws IOException,ServletException{}
2.post调用与客户端把数据传递到服务器端,适合发送大量数据
doPost( )方法格式:
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws IOException,ServletException{}
不管是post还是get方式提交,都会在service中处理,service()方法自动运行与请求对应的doXXX方法,如果重写了service方法,就不在处理dopost和doGet方法了,当然,如果重写了dopost和doGet方法就不需要重写service方法。
如:不重写service方法,重写dopost和doGet方法,代码如下:
protected void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
PrintWriter out=resp.getWriter();
out.println("Hello,Servlet World!");
}
protected void doPost(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
}
三.关于HttpServletRequest类主要处理
HttpServletRequest对象包括请求的地址、参数、提交的数据、上传的文件客户端的IP等所有的信息
HttpServletRequest常用方法:
getParameter(String name)、getParameterValues(String name,Object object)
HttpServletResponse常用方法:
sendRedirect(java.lang.String location)
setContentType(java.lang.String type)
setCharacterEncoding(java.lang.String charset)
HttpServletRequest接口中定义了若干获取请求行中的各个部分的方法:
getServletPath() | 返回Servlet的名称或Servlet所映射的路径 |
getPathInfo() | 返回请求URL中额外路径信息 |
getMethod() | 返回http请求消息中的请求方式(如:get、post) |
getRequestURL() | 返回请求行中的资源名部分 |
getQueryString() | 返回请求行中的参数部分 |
getProtocol() | 返回请求行中的协议名和版本 |
getContextPath() | 返回请求URL所属于的web应用程序的路径 |