什么是servlet
Servlet(Server Applet)是Java Servlet的简称,称为小服务程序或服务连接器,用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。
- 客户端发送请求至服务器端;
- 服务器将请求信息发送至 Servlet;
- Servlet 生成响应内容并将其传给服务器。响应内容动态生成,通常取决于客户端的请求;
- 服务器将响应返回给客户端。
怎实现一个servlet程序
- 编写一个类,实现Servlet接口,把开发好的Java类部署到web服务器中。
把实现了Servlet接口的Java程序叫做,Servlet
注册servlet以及映射
<!--注册Servlet-->
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.kuang.servlet.HelloServlet</servlet-class>
</servlet>
<init-param>
<param-name>name</param-name>
<param-value>编程帮</param-value>
</init-param>
<!--Servlet的请求路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
servlet的生命周期
- 客户端请求该 Servlet,加载 Servlet 类到内存,实例化并调用init()方法初始化该 Servlet;
- 响应用户请求调用service()方法
- 终止阶段调用destroy()方法
ServletContext与ServletConfig配置文件
web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用;
ServletConfig代表的是当前servlet在web.xml中的配置信息
String getServletName() -- 获取当前Servlet在web.xml中配置的名字
String getInitParameter(String name) -- 获取当前Servlet指定名称的初始化参数的值
Enumeration getInitParameterNames() -- 获取当前Servlet所有初始化参数的名字组成的枚举
ServletContext getServletContext() -- 获取代表当前web应用的ServletContext对象
响应与请求
请求:浏览器对服务器的一次访问称之为请求,用HttpservletRequest对象来表示
响应:服务器对浏览器的一次返回称之为响应,用HttpservletResponse对象来表示
转发与重定向的区别
实现转发调用的是HttpServletRequest对象中的方法,实现重定向调用的是HttpservletResponse对象的方法。
请求转发的时候,url不会产生变化;重定向时候,url地址栏会发生变化