public class HelloWorldServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.println("<html><body>hello world!</body></html>");
out.flush();
out.close();
}
}
1 用于http的servlet编程都通过继承javax.servlet.http.HttpServlet实现
部署好class后,通过url地址即可向服务器发送请求。servlet得到请求(request)后,就会做出响应(response).
2 一般用于实现2个方法。doget,dopost
定义
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {...}
3 HttpServletRequest类封装客户端一系列的请求,通过它可以从url,环境栈,session,application,cookie得到相应的变量进行操作(内容包括自定义信息,用户请求信息等等环境变量)。
1用法看这个,如果需要用到,最好总结出常用的。常用的 getParameter系列,通过参数,得到http提交过来的数据。
http://blog.163.com/peigen_peigen/blog/static/270478020082685131715/
//getParameter和getAttribute的区别。看最后一句话。
request.getAttribute()方法返回request范围内存在的对象,而request.getParameter()方法是获取http提交过来的数据。此外有setAttribute()方法。
-------需要对session进行操作,百度下。
http://baike.baidu.com/link?url=M8HoWF3lw9TD9NyPzFtpKWQYgJZ_z33NzBkcvb9vtIQPzWNo5Fdhzh8maX4lqmvDmui-lF-9z8cSewXekO8rmK
4 HttpServletResponse resp代表服务端的响应,对象封装了客户端一系列的响应。
1可以修改和添加三大存储器的状态和里面信息。可以发送信息给客户端。
2常用参数
PrintWriter out = resp.getWriter();
out.write("<html></html>");
response.setContentType("text/html"); 设置内容类型,防止浏览器把服务端响应当成字符串处理等
PrintWriter out = response.getWriter(); 得到输出流
下面是详细说明
WEB服务器回送给WEB客户端的HTTP响应消息分为三个部分:
(1)状态行
(2)响应消息头
(3)消息正文(也叫实体内容)
响应消息头的实用案例
Servlet的中文输出问题
让浏览器定时刷新网页
禁止浏览器缓存当前文档内容
2、 Servlet API中定义的ServletResponse接口类用于创建响应消息。
3、 HttpServletResponse是专用于HTTP协议的ServletResponse子接口,它用于封装HTTP响应消息。
4、 HttpServletResponse定义了一系列用于描述各种HTTP状态码的常量。
5、 在service()方法内部调用HttpServletResponse对象的各种方法来创建响应消息。