@【TOC】
1.servlet技术
a)什么是servlet
①servlet是javaee的规范之一。规范就是接口
②servlet就是Javaweb的三大组件之一。三大组件分别是:servlet程序,Filter过滤器,Listener监听器
③servlet是运行在服务器上的一个Java小程序,他可以接受客户端发过来的请求,并响应数据给客户端。
b) 手动实现Servlet程序
①编写一个类去实现servlet接口
public class HelloServlet implements Servlet {
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
/**
* 装门用来请求处理和响应的
* @param servletRequest
* @param servletResponse
* @throws ServletException
* @throws IOException
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("HelloServlet被访问了");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
②实现service方法,处理请求,并响应数据
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
/**
* 装门用来请求处理和响应的
* @param servletRequest
* @param servletResponse
* @throws ServletException
* @throws IOException
*/
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("HelloServlet被访问了");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
③到web.xml中去配置servlet程序的访问地址。
<servlet>
<!-- 给Servlet程序起一个别名 -->
<servlet-name>HelloServlet</servlet-name>
<!-- Servlet程序的全类名 -->
<servlet-class>com.atguigu.servlet.HelloServlet</servlet-class>
</servlet>
<!-- 告诉服务器,我们当前配置的地址给哪个Servlet使用 -->
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<!-- /斜杠在服务器解析的时候,表示地址为:http://ip/:port/工程路径
/hello 鄙视地址为:http://ip:port/工程路径/hello-->
<url-pattern>/hello</url-pattern>
</servlet-mapping>
d)servlet 生命周期
①执行Servlet构造器方法
public HelloServlet
②执行init方法
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
③执行service方法
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println(“HelloServlet被访问了”);
}
④执行destroy]
@Override
public void destroy() {
}
第①②,是在一次创建Servlet程序会调用
第③步,每次访问都会调用
第④,web工程停止时调用
e)GET和POST请求的分发处理
f) 通过继承HttpServlet实现Servlet程序
g) Servlet类的继承体系
2.)ServletConfig类
3.) ServletContext类
4.)Http协议
①什么是Http协议
协议是指双方或者多方,相互约好,大家都需要遵守的规则,叫协议
所谓Http协议,就是指,客户端和服务器之间的通信时,发送的数据,需要遵守的规则,叫做Http规则
Http协议中的数据又叫作报文。
②请求的Http协议格式
客户端给服务器发送数据叫请求
服务器给客户端传回数据叫响应。
a)GET请求
1.请求行
(1)请求的方式 ``````````GET
(2)请求的资源路径【+?+请求参数】
(3)请求的版本协议号 `````Http/1.1
2.请求头
key:value 组成 不同的键值对表示不同的含义。