基于HTTP协议下的,http请求和http响应。

 
http请求------请求的是服务器中的地方。
1、servlet就是解析http请求和发送http响应。
 
2、servlet是是一个接口。
   List<Student> list=new ArrayList<Student>();---多态---可扩展性好。
   ArrayList<Student> list=new ArrayList<Student>();
   是一个小程序java applet,运行在web服务器中。
   接口和响应来自客户端的基于HTTP协议下的,http请求和http响应。
   要使用必须继承GenericServlet 或者 HttpServlet
   接口中定义了一方法去初始化servlet(自定义)
 
3、怎么用?
      -----你发送的是什么请求,请求谁?请求的类型。
          请求方式get---不具备保密性;数据传送有限制---256个字节。
          post---防止乱码,具备信息的安全性;数据转送无限制--理论上无限制。
 
   创建一个类并且继承HttpServlet
 
 
   <form action="servlet的名称p-add.do" method="post/get">
     <input type="text" name="stu_id"/>谁是世界上最帅的男人?
     <input type="submit" value="提交"/>
   </form>
 
 
   配置web.xml文件--作用:处理谁找谁的问题?
 
   配置servlet
     <serlvet>
       <serlvet-name>AddServlet</servlet-name>
       <servlet-class>com.it.servlet.AddServlet</servlet-class>
     </servlet>
    配置servlet映射
     <servlet-mapping>
        <servlet-name>AddServlet</servlet-name>
        <url-patter>/add.do</url-patter>
     </servlet-mapping>
 
 
(一个serlvet可以有多个映射)
 
    servlet解析请求中携带的问题和问题的类型(get/post)
 
    doGet(){
       业务逻辑
     };
 
    doPost(){
       业务逻辑
    };---继承了HttpServlet----doget;dopost---继承中的重写;
 
添加业务功能;
    jsp:action-method---->web.xml---->AddServlet中的doPost();
    getParameter("stu_id");---封装----new  StudentDAO();
 
----将数据动态的显示到页面中。-----我们必须在servlet类中自己产生页面。
 
显示业务功能:
    show.do---doPost(){查询到集合---写到我自己产生的页面中};
删除业务逻辑:
    del.do---->按照id号码删除(如何在del.do>stu_id=1001)。
          post----delStu(String sql="");
 
4、注意点:
   servlet删除后,web.xml文件中的配置文件不会自动删除,必须手动删除。
 
5、中文乱码:
   请求乱码:
   reqeust.getEconding...(“utf-8”);
   String ss=new String(request.getp....().getBytes("iso-8859-5"),"utf-8");
   响应乱码;
   response.setContentType("text/html;charset=utf-8");
   response.setHeader("", "");
 
 
6、重定向---重新请求
 
 
1、servlet生命周期----在不同的阶段做了什么事情?
   servlet中的方法:init();doGet();doPost();destory();service(2个);
构造器
初始化阶段:---init()---构造器
    servlet容器加载servlet(add.do)的时机:
    a、默认情况下:当用户第一次请求服务器的时候,servlet被加载;
    b、服务器启动的时候,servlet容器加载servet---show.do
       借助配置文件,在web.xml<serlvet><load-on-startup>1</load-on-startup></serlvet>
    c、servlet类文件被更新后,重新装载servlet.
       servlet容器会创建servlet实例-----并且调用初始化方法Init();
       注意:在servlet整个生命周期中,初始化方法只被调用一次;
 
 
响应客户请求阶段---service,doGet();doPost();
        servlet的工作原理:当请求和响应到达 servlet的时候,servlet容器会创建每个
    servlet对应的HttpServletRequest和HttpServletResponse对象。然后将这两个对象
    交给继承了HTTP协议的service方法,从请求中解析,请求的类型。第一种:继承了HTTP
    协议的doGet();doPost();-----业务逻辑处理。
 
    拓展:当值到达service的时候,会以HashTable或者HashMap的形式进行封装。
          就是一个键值对。
         <select>
             <option value="1">安徽省</option>
         </select>
         HashTable<key,value> name=HashTable<key,value>();
         HashTable---线程安全。HashMap线程不安全。
销毁阶段---释放资源的阶段---destory()。
    a、当web服务器停止的时候。
    b、servlet类文件被更新后,重新装载servlet.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

servle的更多相关文章

  1. Servle资源注射

    Servle资源注射@WebServlet(name = "DownloadServlet",urlPatterns ="/DownloadServlet" ) ...

  2. Java Web学习笔记-Servle生命周期

    Servlet会在服务器启动或第一次请求该Servlet的时候开始生命周期,在服务器停止的时候结束生命周期. 无论请求多少次Servlet,最多只有一个Servlet实例.多个客户端并发请求Servl ...

  3. 转载 Servlet3.0中使用注解配置Servle

    转载地址:http://www.108js.com/article/article10/a0021.html?id=1496 开发Servlet3的程序需要一定的环境支持.Servlet3是Java ...

  4. Cookie中图片的浏览记录与cookie读取servle时路径的设置(文字描述)

    public class ShowServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpSer ...

  5. (2)自己写一个简单的servle容器

    自己写一个简单的servlet,能够跑一个简单的servlet,说明一下逻辑. 首先是写一个简单的servlet,这就关联到javax.servlet和javax.servlet.http这两个包的类 ...

  6. Servle原理

    这篇博客将以Tomcat为例讲一讲Servlet的原理 Servlet容器 Servlet与Servlet容器的关系举个不恰当的例子就像枪和子弹的关系.而Servlet就是子弹,容器就是枪.子弹都有统 ...

  7. Servle中的会话管理

    最近整理了下会话管理的相关笔记,以下做个总结: 一.会话管理(HttpSession) 1.Web服务器跟踪客户状态的四种方法: 1).使用Servlet API的Session机制(常用) 2).使 ...

  8. Servle第四篇(会话技术之cookie)

    会话技术 什么是会话技术 基本概念: 指用户开一个浏览器,访问一个网站,只要不关闭该浏览器,不管该用户点击多少个超链接,访问多少资源,直到用户关闭浏览器,整个这个过程我们称为一次会话. 为什么我们要使 ...

  9. AJAX如何获取从前台传递过来的数据然后在通过servle传递给后台

    1 用 request.getParameter接收值 <% String id1=request.getParameter("id"); out.print(id1); % ...

随机推荐

  1. poj2186Popular Cows(Kosaraju算法--有向图的强连通分量的分解)

    /* 题目大意:有N个cows, M个关系 a->b 表示 a认为b popular:如果还有b->c, 那么就会有a->c 问最终有多少个cows被其他所有cows认为是popul ...

  2. 使用Google产品以来遇到的最糟糕、最霸道、最让人抓狂的设计

    很久没有登录cnblogs@gmail.com这个邮箱,今天通过gmail.com登录了一下,登录后出现一个对话框要求设置性别与出生日期,而且必须要设置,不设置不让登录. 这个邮箱是我们网站用的是邮箱 ...

  3. java并发编程(4)--线程池的使用

    转载:http://www.cnblogs.com/dolphin0520/p/3932921.html 一. java中的ThreadPoolExecutor类 java.util.concurre ...

  4. JVM之类加载器中篇

    先看一段代码吧! package com.tfdd.test; /** * @desc * @author chenqm * @date 2016年2月15日 */ public class Fina ...

  5. 了解SpringMVC框架及基本工作流程

    传统原生的JSP+Servlet在开发上过程上虽然简单明了,JSP页面传递数据到Servlet,Servlet整理数据(逻辑开发)或者从数据库提取数据接着再转发到JSP页面上,但是其似乎只能止步于此, ...

  6. 初探Spring - IOC原理

    一.IOC是什么 控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来降低代码之间的耦合度.其中最常见的方式叫做依赖注入(Dependency ...

  7. MVC 分页

    后台代码: using Webdiyer.WebControls.Mvc; ) { int pageIndex = id; int count; ; List<News> newsList ...

  8. Web API应用架构在Winform混合框架中的应用(4)--利用代码生成工具快速开发整套应用

    前面几篇介绍了Web API的基础信息,以及如何基于混合框架的方式在WInform界面里面整合了Web API的接入方式,虽然我们看似调用过程比较复杂,但是基于整个框架的支持和考虑,我们提供了代码生成 ...

  9. SQL Server2000导出数据时包含主键、字段默认值、描述等信息

    时经常用SQL Server2000自带的导出数据向导将数据从一台数据库服务器导出到另一台数据库服务器: 结果数据导出了,但表的主键.字段默认值.描述等信息却未能导出,一直没想出什么方法,今天又尝试了 ...

  10. NanUI for Winform 使用示例【第二集】——做一个所见即所得的Markdown编辑器

    经过了这一个多星期的调整与修复,NanUI for .NET Winform的稳定版已经发布.应广大群友的要求,现已将NanUI的全部代码开源. GitHub: https://github.com/ ...