Servlet
是运行在Web服务器或应用服务器上的Java程序
在Web上创建动态内容的有效而强大的解决方案
由容器来管理生命周期与Web服务器交互
由Sun规范了其功能
Servlet部署:
一个Servlet必须有三个名称:
1:是Servlet的名称,
2:是Servlet类的完整名称,
3:是映射的逻辑名称
总结:
Java Servlet是运行在Web服务器或应用服务器上的Java程序
Servlet规范对Servlet功能进行了严格定义
Servlet API与容器进行通讯
Servlet的编码和部署需要在web.xml中进行注册
Servlet的生命周期由4个阶段组成
SevletConfig对象为Servlet提供初始化参数
ServletContext对象属于整个Web应用程序
使用Servlet处理Http的响应
HttpServletResponse对象用于操纵响应的HTTP头
setHeader()
addHeader()
setIntHeader()
setDateHeader()
containsHeader()
setContentType()
addCookie()
重定项
response.sendRedirect("http://127.0.0.1:8080/lovobook/bar.html");
使用Servlet处理Http的请求
getMethod():获取HTTP的请求方法,例如GET、POST等
getRequestURI():获取请求的URI资源
getRequestURL():获取请求的URL,包含协议名、服务器名或IP、端口号和请求资源但不包括查询字符串参数
getQueryString():获取请求URL后面的查询字符串
getProtocol():获取HTTP的协议名和版本号
getContextPath():获取请求URI资源的上下文路径
getServletPath():获取Servlet的映射路径
getParameter()获取表单元素
request.getRequestDispatcher("/sucess.html").forward(request, response); 请求派发forward()方法意味着把请求和响应派发给别的资源后,就不会再去做任何处理了
request.getRequestDispatcher("/sucess.html").include(request, response); 请求派发include() 方法意味着请求别人帮助处理请求,但这并不是完全移交,只是暂时地把控制交给 别人
Servlet响应总结
请求URL时HTTP发出了多个请求
状态码告诉浏览器发送的内容及格式状态
Servlet API与容器进行通讯
HttpServletResponse定义的常量来避免直接使用整数
在通过PrintWriter对象发送任何内容之前先调用 HttpServletResponse的setStatus()方法
为了让Servlet发挥最大的效能,HttpServletResponse对象用于操纵响应的HTTP头
getWrite()或者getOutputStream()方法传送文本或者二进制内容给客户端
sendRedirect方法实现重定向
HTTP响应头“Refresh”会根据时间来控制响应
Servlet请求总结
HttpServletRequest对象主要用于处理分析请求
默认情况下,使用HTTP协议的GET方法提交请求
HTML表单通过“method”属性使浏览器使用HTTP POST方法
GET/POST方法适用于不同场合
HttpServletRequest对象中最常用的方法是获取请求表单参数
HttpServletRequest对象也可以得到请求中参数的原始字节数据
重定向和请求派发之间最大的区别在于,重定向让客户端浏览器来完成,而请求派发是在服务器端做工作
HttpServletRequest可以把一个对象用名字绑定在请求范围内,并且进行访问和删除