`
chenhua_1984
  • 浏览: 1246227 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

servlet知识回顾笔记(二):servlet基础知识

阅读更多

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笔记知识点总结 #### 第1章 B/S与C/S结构 ...以上是对“韩顺平Servlet笔记”的主要内容进行了详细的解析与总结,涵盖了从基础知识到实践操作的多个方面,希望能对学习者提供有益的帮助。

    韩顺平servlet笔记

    ### 韩顺平servlet笔记知识点概览 #### 一、J2EE技术发展...以上知识点全面涵盖了韩顺平servlet笔记中的主要内容,从Java基础知识到Web开发技术,再到Tomcat服务器的安装配置和使用,为初学者提供了全面的学习指南。

    韩顺平2011最细servlet笔记1.doc

    总之,“韩顺平2011最细servlet笔记1.doc”提供了关于Java Web开发的重要知识,从基础知识到高级概念,涵盖了从Java语言本身到Web服务器配置的广泛主题,对于学习Java Web开发的初学者和希望深化理解的开发者都非常...

    传智的javaweb学习笔记,比较全的

    通过这份笔记,读者可以系统地回顾和巩固JavaWeb的基础知识,为更深入的框架学习和实际项目开发打下坚实基础。同时,笔记中的实践案例和问题解决经验也会帮助读者更好地理解理论知识,并提升问题解决能力。

    达内培训笔记(真实详尽版)

    2. 笔记整理:笔记整理是指学习者在上课过程中记录的课堂内容,是对培训课程的一个总结和梳理,便于复习和回顾知识点。 3. HTML&JavaScript:HTML是构建网页内容的标记语言,而JavaScript是一种脚本语言,用于实现...

    方立勋JavaWeb视频前十一天笔记word

    1. **Java基础知识**:复习Java的基本语法,类,对象,包,异常处理,输入/输出流等,这是理解JavaWeb的前提。 2. **Servlet技术**:介绍Servlet的概念,生命周期,如何创建和配置Servlet,以及Servlet与HTTP请求...

    黑马程序员_超全面的JavaWeb教程-视频+源码笔记

    在深入了解本教程之前,我们先来简要回顾一下JavaWeb的基础知识。JavaWeb是利用Java语言开发Web应用的技术集合。它主要包括Servlet、JSP、过滤器等技术。随着互联网的发展,JavaWeb已经成为软件开发领域的重要组成...

    关于java经典笔记第二部分

    Java经典笔记第二部分主要涵盖了Java基础、数据库以及Web开发的...而对于有经验的开发者,回顾这些基础知识,可能会对解决问题或提升技能有所帮助。通过深入阅读和实践,可以从这些笔记中获得丰富的知识和实践经验。

    java的基础性小结与笔记

    Java 是一种广泛使用的高级编程语言,尤其在Web开发领域中占据着重要地位。这篇笔记主要总结了关于Java Web开发的一些基础知识点。...不断回顾和理解这些基础知识,对于提升Java Web开发技能至关重要。

    JAVA笔试面试资料JDBC HTTP、JSP、Servlet、Struts面试题汇总资料.zip

    Java初级程序员面试必备的基础知识总结.docx Java基础、Java集合、多线程、JDBC、HTTP、JSP、Servlet、Struts面试题汇总(附答案).docx java工程师面试题大全-100%公司笔试题你都能碰到几个.docx Java开发工程师...

    关于java经典笔记

    1. **Java基础知识**: - 变量和数据类型:Java中的基本数据类型(如int、float、char)和引用数据类型(如类、接口、数组)。 - 控制结构:包括条件语句(if-else,switch)和循环(for,while,do-while)。 - ...

    达内java学习笔记全套

    【Java学习笔记全套】是针对Java编程语言的一套全面学习资料,涵盖了Unix操作系统基础、SQL数据库操作、核心Java编程、Hibernate持久化框架、以及Spring框架等多个关键知识点。这些笔记旨在帮助初学者系统地掌握Java...

    方立勋web视频笔记

    【方立勋Web视频笔记】是一系列针对Web开发学习者的宝贵资源,主要涵盖了Web开发的基础知识,特别是以JavaWeb为主导的技术栈。这些笔记和资料是方立勋老师教学经验的结晶,旨在帮助初学者系统地理解和掌握Web开发的...

    struts学习的一点笔记

    在深入探讨Struts框架的学习笔记之前,我们先简要回顾一下Struts框架的基本概念与重要性。Struts是一个开源的MVC(Model-View-Controller)框架,主要用于简化Java Web应用的开发。它提供了一套标准的方式来组织和...

    基于j2ee开发的web笔记

    “笔记”标签表明这是一份学习记录,可能包含对关键概念、技术和实践的简洁总结,便于读者查找关键信息和回顾学习内容。这样的资料通常以要点形式呈现,方便快速查阅和理解。 【压缩包子文件的文件名称列表】:...

    java ee 复习笔记

    在复习Java EE时,除了这些框架,还需要掌握Servlet和JSP的基础知识,它们是构建动态Web应用的基础。Servlet是Java编写的小型服务器端程序,负责处理HTTP请求,而JSP则是用于创建动态网页的视图技术,将HTML代码与...

    总结java笔记

    理解这些基础知识是编写任何Java程序的基础。 2. **面向对象编程**:Java是纯面向对象的语言,支持封装、继承和多态三大特性。了解如何创建类、对象,以及理解类与对象之间的关系至关重要。 3. **异常处理**:Java...

    j2ee笔记.doc

    J2EE是Java企业版的简称,是一个用于构建企业级分布式应用程序的平台,它包含了多种技术规范和服务组件,如Servlet、JSP、JavaBean、...J2EE的笔记可以帮助开发者系统地学习和回顾这些内容,提高开发效率和代码质量。

Global site tag (gtag.js) - Google Analytics