1什么是servlet?
答:一个运行在服务器端的,用java编写的程序,用来处理客户端的请求。
2HttpServlet基础知识?
1httpservlet继承GenericServlet,是一个抽象类,public abstract class HttpServlet extends GenericServlet implements Serializable,主要用来处理get和post请求的。主要的方法:
Apublic void doGet(HttpServletRequest req,HttpServletResponse res):doGet() 方法处理客户端作出的 GET 请求。
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String protocol = req.getProtocol();
String msg = lStrings.getString("http.method_get_not_supported");
if(protocol.endsWith("1.1"))
resp.sendError(405, msg);
else
resp.sendError(400, msg);
}
Bpublic void doPost(HttpServletRequest req,HttpServletResponse res):doPost() 方法处理客户端作出的 POST 请求。
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException
{
String protocol = req.getProtocol();
String msg = lStrings.getString("http.method_post_not_supported");
if(protocol.endsWith("1.1"))
resp.sendError(405, msg);
else
resp.sendError(400, msg);
}
3javax.servlet 包的主要接口:
1ServletConfig 接口:在初始化的过程中由 Servlet 容器使用
2ServletContext 接口:定义 Servlet 用于获取来自其容器的信息的方法
3ServletRequest 接口 :向服务器请求信息
4ServletResponse 接口 :响应客户端请求
4javax.servlet 包的主要类:
1ServletInputStream: 类用于从客户端读取二进制数据
2ServletOutputStream 类:用于将二进制数据发送到客户端
5javax.servlet.http 包的接口:
1HttpServletRequest 接口:提供 HTTP 请求信息
2HttpServletResponse 接口:提供 HTTP 响应
6Servlet 的生命周期
Servlet 容器创建 Servlet 的一个实例
Servlet 的生命周期就是指创建 Servlet 实例之后其存在的时间以及何时消失
生命周期的 3个方法为:init(),service(),destory().
7生命周期的各个阶段为:
A 实例化:Servlet 容器创建 Servlet 的实例
B 初始化:该容器调用 init() 方法
C 服 务:如果请求 Servlet,则容器调用 service() 方法
D 销 毁:销毁实例之前调用 destroy() 方法
E 不可用:销毁实例并标记为垃圾收集
8一个简单的 Servlet 实例:
简单实例 写道
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ClientServlet extends HttpServlet
{
protected void doGet(HttpServletRequest
request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType(“text/html;charset=GBK”);
PrintWriter out= response.getWriter();
out.println(“<html><body> 您好!</body></html>”);
}
}
9Servlet 的部署
web.xml文件中配置Servlet:
web.xml 写道
<servlet>
<servlet-name>clientservlet</servlet-name>
<servlet-class>chapter2.ClientServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>clientservlet</servlet-name>
<url-pattern>/clientservlet</url-pattern>
</servlet-mapping>
一个处理get请求的例子:
处理get请求 写道
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType(CONTENT_TYPE);
response.setCharacterEncoding("GB2312");
PrintWriter out = response.getWriter();
try {
String username = request.getParameter("username");
String password = request.getParameter("password");
if (username.equals("") || password.equals("")){
userInterface(response);
}
else{
out.println("<b>"+username + "</b> 欢迎第一次使用Servlet<br/>");
out.println("<b>今天的日期是:</b>" + new Date());
}
}
catch(Exception e){
userInterface(response);
}
out.close();
}
}
UserInterface 写道
public void userInterface(HttpServletResponse response)throws IOException
{
PrintWriter out=response.getWriter();
out.println("<html>");
out.println("<head><title>loginservlet</title></head>");
out.println("<body bgcolor=\"#ffffff\">");
out.println("<h1 align=center>欢迎第一次使用Servlet</h1>");
out.println("<form method=post action=/ServletModule/loginservlet");
out.println("<br/>");
out.println("用户名:<input type='text' name='username'><br/>");
out.println("密码:<input type='password' name='password'><br/>");
out.println("<input type=submit value='提交'><br/>");
out.println("</form>");
out.println("</body>");
out.println("</html>");
}
10:总结:
1Servlet 运行于服务器上,它接受请求并用请求的数据响应客户端
2HTTP 是一个广泛使用的协议,用于在客户端和服务器之间传输数据
3Servlet 广泛使用 HTTP 协议,因此称为 HTTP Servlet
4HTTP Servlet 发送 HTTP 请求并接收 HTTP 响应
5Servlet API 包含在两个包中,即 javax.servlet 和 javax.servlet.http 中
6Servlet 的生命周期包含三种方法,分别是 init()、service() 和 destroy()
7Servlet 既可以扩展 GenericServlet 类,也可以扩展 HttpServlet 类
分享到:
相关推荐
对Servlet基础知识进行总结,适合新手入门用,里面详细的介绍了Servlet运行原理以及如何创建等
servlet入门经典笔记servlet入门经典笔记servlet入门经典笔记servlet入门经典笔记servlet入门经典笔记servlet入门经典笔记
我在学习servlet做的笔记 我在学习servlet做的笔记我在学习servlet做的笔记 我在学习servlet做的笔记我在学习servlet做的笔记
servlet 基础笔记 servlet基础 servlet入门
servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记servlet笔记
javax.servlet-api-3.1.0.jar,处理找不到servlet JAR的问题
implementation("javax.servlet:javax.servlet-api:***") ``` # 含有的 Java package(包): ``` javax.servlet javax.servlet.annotation javax.servlet.descriptor javax.servlet.http ``` # 含有的 Java ...
servlet基础知识 搭建servlet 编写servlet
适合初期的学习,最初的笔记整理
[JSP&Servlet;学习笔记(第2版)]。
Servlet学习笔记(java的Servlet)。 jsp的学习基础。此笔记可让你5天内学会使用Servlet,可快速入门,也可当手册使用。 更多:http://download.csdn.net/user/daillo/all
Servlet学习笔记Servlet学习笔记
Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...
Servlet的基础介绍及五大对象
韩顺平细说servlet笔记
Servlet 初学者 笔记 示例代码,学习JSP之前的基础。这是我刚刚学习web时候的笔记
servlet源码和笔记 java jsp 达内tarena servlet课件
Servlet基础 Servlet基础 Servlet基础 Servlet基础 Servlet基础
implementation("javax.servlet:javax.servlet-api:***") ``` # 含有的 Java package(包): ``` javax.servlet javax.servlet.annotation javax.servlet.descriptor javax.servlet.http ``` # 含有的 Java ...