说说你对servlet的理解或者 servlet 是什么?
Servlet(Servlet Applet),全称Java Servlet,是用Java编写的服务器端程序。通过“请求-响应”编程模型访问这个驻留在服务器内存中的Servlet程序,其主要功能在于交互式的浏览和修改数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中。
一个特殊的Java类
1.没有main方法
2.运行于服务端
3.由servlet容器【Tomcat】管理
Servlet常用包
javax.servlet
- Servlet接口:所有必须实现的方法
- ServletRequest接口:获取客户端请求信息的方法
- ServletResponse接口:向客户端发送信息的方法
- ServletConfig接口:获取Servlet配置信息的方法
- ServletContext接口:获取Servlet容器信息的方法
- GenericServlet类:定义了通用的与设备无关的Servlet类
- ServletInputStream类/ServletOutputStream类:读取/发送二进制码流
javax.servlet.http【http协议相关接口类】
- HttpServletRequest接口:从客户端获取http请求信息
- HttpServletResponse接口:向客户端发送http响应信息
- HttpSession接口:用于表示客户端
- HttpServlet类:用于创建基于Http的Servlet
- Cookie类:保存发送给客户端的信息
HttpServlet 重写doGet 和 doPost 方法或者你也可以重写service方法完成对get和post请求响应。
Servlet的通俗理解?
Servlet是一个运行了面向请求/ 响应服务器中的网络模块。
请求是客户的一个调用,可能是远程的。
请求包含了客户要发送给服务器的数据。
响应是服务器返回给客户的回答该请求的数据。Servlet是一个JAVA对象,他以请求为输入,分析其数据,执行一些逻辑运算,并给客户发回一个响应。
另一方面,Servlet作为驻留在服务器端HTTP明白的中间层,它们知道怎样在HTTP中通过RMI或IIOP在EJB和客户之间进行通信。
响应流程图
1.客户端发出请求——例如浏览器点击超链接
<a href="selvlet/HelloServlet">发起请求</a>
2.服务器在.xml文件中寻找与URL中相同的地址【selvlet/HelloServlet】
<url-pattern>
/selvlet/HelloServlet
</url-pattern>
3.找到对应的servlet-name
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/servlet/HelloServlet</url-pattern>
</servlet-mapping>
4.根据servlet-name找到servlet-class
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>servlet.HelloServlet</servlet-class>
</servlet>
5.分析请求方式,执行复写的service方法,即doPost/doGet方法