0523请求与响应笔记
一、什么是Servlet
Servlet接口
1)GenericServlet(抽象类)为所有的Servlet对象提供了一个通用基类和ServletConfig接口
2)HttpServlet抽象类(继承GenericServlet)针对HTTP协议的特性,为HTTP协议下的Web应用提供一个Servlet类。可实现Servlet和ServletConfig接口
* servlet:运行在web服务器上的一小段java应用程序,能够接收并响应来自客户端的请求
二、servlet生命周期:
* 1、初始化init(),只执行一次
* 2、服务service(),会多次被调用
* 3、销毁destory(),当服务器重启或者关闭时
* servlet对象的创建:
* 1、没加什么其它配置时是当第一次请求到达时创建servlet对象
* 2、如果配置load-on-startup时是当服务器启动时就创建servlet对象
1,标记容器是否在服务器启动时创建,为正数时,数越小启动优先级越高,默认是被选择时加载
* Java.Servlet包的接口为:
1、ServletConfig接口 在初始化的过程中由Servlet容器使用
在文件初始化时传一些参数时
world
javaweb0523.WorldServlet
charset
utf-8
调用方法里doget:
response.setContentType(“text/html;charset=”+charset);
Init容器自动调用
public void init(ServletConfig config) throws ServletException {
charset=config.getInitParameter(“charset”); //键值对的形式找
System.out.println(charset); 通过”charset”找输出utf-8
ServletContext appliction=config.getServletContext();
System.out.println(appliction.getContextPath());
System.out.println(appliction.getRealPath(“/”));
}
2、ServletContext接口 定义在Servlet用于获取来自其容器的上下文信息的方法
内置对象appliction为ServletContext接口的实例
ServletContext appliction=config.getServletContext();//得到对象
System.out.println(appliction.getContextPath()); //得到相对路径
System.out.println(appliction.getRealPath(“/”)); //得到绝对路径
3、ServletRequest接口 向服务器发送请求信息
Doget或dopost里
System.out.println(request.getLocalAddr()+”:”+request.getLocalPort());
得到本地地址(Ip地址)+本地端口(本地计算机地址)
System.out.println(request.getRemoteAddr()+”:”+request.getRemotePort());
得到远程地址+远程端口
System.out.println(request.getRequestURL());//请求路径
4、ServletResponse接口 客户端请求的响应
response.setContentType(“text/html;charset=”+charset);//设置成 utf-8
PrintWriter out=response.getWriter();
out.print(“大家好”);
* GenericServlet:普通servlet
* HttpServlet :针对http协议
* tomcat默认编码为ISO-8859-1
*国标码 gbk 支持藏文gb2312 国际用utf-8