HttpServlet

  简介:

    Servlet 就是一个普通的java类,是运行在web容器上(tomcat)上的一个java类

    用来通过Servlet中的代码,接受Http中浏览器的请求信息,以及对浏览器相应信息。

    Servlet 默认情况下为单例模式,且每次用户访问,都会开启新的现场,调用serivice方法,请求处理!

  编写步骤:

    1,编写一盒java类,继承自HttpServlet.

    2,重写父类的service方法。

    3,,在service方法中,处理请求 以及进行相应。

    4,将编写的Servlet通过web.xml 想tomcat进行映射。

  web.xml中 添加映射

    web.xml在项目中的位置:

      项目/webContent/web-inf/web.xml

    步骤1:

      向Servlet信息,配置到web.xml,并起别名;         

              <servlet>
<servlet-name>任意标识符(别名)</servlet-name>
<servlet-class>类的全称(包名.类名)</servlet-class>
</servlet>

    步骤2:

      -根据别名,映射对应的网址       

             <servlet-mapping>
<servlet-name>步骤1中的别名</servlet-name>
<url-pattern>/地址</url-pattern>
</servlet-mapping>
url-pattern:
编写的是用户通过浏览器所访问的地址 , 我们仅需要编写相对路径即可 ! 例如:
/sbgww
访问此servlet的网址为:
http://ip地址:端口号/项目名/sbgww

  Servlet常用操作:

    1,设置相应编码:

      方式一:

        response.setContentType("test/html;charset=utf-8");

        用于相应页面内容,进行设置编码格式!

      方式二:

        response.setCharacterEncoding("utf-8");

        常用于编写往立接口,用于返回XML或JSON信息!

    2,通过相应对象,获取输出流

      PrintWriter out = response.getWriter();

  Servlet生命周期

    单利模式~

    当第一次访问时,创建! 当服务器关闭时消亡!

    Servlet的生命周期,描述的就剩Servlet从创建到消亡的过程。

    这个过程,在Servlet类中,纯在三个方法的具体体现:

    - init方法,当Servlet 创建后,立即执行,表示Servlet初始化

       常用与初始化资源操作,例如:io流 数据库链接 等等初始化!

    -    service 方法,当用户访问时,开启新的现场,执行此方法, Servlet 正在浏览服务器

    -    desrtoy 方法 ,当Servlet 即将为销毁时,执行!   常用与销毁资源!

  

 接受用户请求的参数

    1, 接受单个参数值

        String value  =  request.getParameter("key");

    2,   接受一组相同key的 请求参数值 数组;

        String [] values =  request.getparameterValues("key");

  

 请求参数:乱码问题

    解决乱码:

      方式一 :

         适用于解决所有乱码问题,但是一次只能解决一个文本!

         步骤1  将接受到的参数值,按照iso - 8859-1编码打碎成字节数组

                      byte [] bytes = value.getBytes("ISO-8859-1")

            步骤2. 将得到的字节数组, 按照UTF-8编码组装为字符串

             String text = new String(bytes,"UTF-8");

      方式二 :

         设置请求体的编码格式!(GET请求参数不通过请求体传递,只适用于POST请求)

            request.setCharacterEncoding("UTF-8")

 
												

Servlet(2)的更多相关文章

  1. JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 一.http协议回顾: 在上一篇文章中:JavaW ...

  2. Servlet(一)基础总结

    一.Servlet概述 1.Java Servlet是基于Java的一种技术和标准,是独立于平台和协议,服务器端的java应用程序.与Applet相比.Applet运行在客户端,而Servlet运行在 ...

  3. servlet(2)servlet过滤器

    1.servlet过滤器 用于动态的拦截servlet请求或响应,以变更或使用其中的信息. (1)过滤器和servlet是多对多的关系,即一个过滤器可以用于一个或多个servlet,多个过滤器也可以用 ...

  4. (转)JavaWeb学习之Servlet(二)----Servlet的生命周期、继承结构、修改Servlet模板

    [声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140466.html 一.http协议回顾: 在上一篇文章中:JavaW ...

  5. Java基础——Servlet(六)分页相关

    前面写了Servlet(一)到(五),主要是在网上搜罗的视频.对分页这块还是不太清楚.于是有找到一些视频,重新学习了一下.主要是对分页的认识和设计思路.也是为了方便我以后回忆一下.. 一.分页常识 p ...

  6. 实习培训——Servlet(7)

    实习培训——Servlet(7) 1  Servlet 异常处理 当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类 ...

  7. 实习培训——Servlet(6)

    实习培训——Servlet(6) 1  Servlet 客户端 HTTP 请求 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的 ...

  8. 实习培训——Servlet(5)

    实习培训——Servlet(5) 1  Servlet 简介 Servlet 是什么? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HT ...

  9. JavaWeb之servlet(2)

    servlet(2) ServletContext servlet的上下文 每个jvm的虚拟机中的每个web工程都只有一个ServletContext工程,即在一个web工程中,无论写了多少个Java ...

  10. 多个请求共用一个Servlet(JavaWEB)

    我们在对JavaWEB工程进行开发的时候,我们经常会遇到这样一个问题,在jsp中发送到Servlet的每一个请求都要写一个对应的Servlet,这样会造成一个工程完成下来需要写几十个Servlet,那 ...

随机推荐

  1. CAS部署在Windows上

    我这里有下载好的cas.war和tomcat7,然后我在将cas.war放在tomcat目录下的webapps下,启动tomcat自动解压war包.浏览器输入http://localhost:8080 ...

  2. bind 小测试

    #测试其他功能临时搭建测试 主配置文件: [root@localhost named]# cat /etc/named.conf // // named.conf // // Provided by ...

  3. RHCSA

     系统管理 redhat 7 破解修改root密码 修改系统主机名 修改系统地址掩码网关 创建系统默认软件仓库 安装系统内核升级 绑定到外部验证服务LDAP.配置 autofs 用户组管理 创建用户组 ...

  4. kubernets kubevirt 分析

    目前kubevirt提供虚机管理的功能. kill, delete, shutdown, migration 等. VMI是virtual machine interface的缩写. SyncVMI, ...

  5. MySQL中 Data truncated for column 'xxx'解决方法

    DATA truncated FOR COLUMN 'description' AT ROW 1 1.错误再现 表中存在null字段 此时,修改表中某字段为主键 2.解决方法 不允许数据库中出现nul ...

  6. IOS Xcode编译项目-报错“ld: library not found for -XX”

    一般是因为导入新项目的时候报错的.原因是引入的依赖库的问题.重新执行pod install应该可以解决.不过,有时候如果重新执行pod install无法执行,可以采用以下方法: 在终端中cd到项目所 ...

  7. Java基础知识盘点(三)- 线程篇

    创建线程的方式及实现 一.继承Thread类创建线程类 1.定义Thread的子类,并重写run方法,因为该方法的方法体就是代表了线程要完成的任务,因此run方法又叫做执行体. 2.创建Thread子 ...

  8. 生信工具汇总--OMICtools

    各种生信工具: https://omictools.com/

  9. echarts生成的图表大小怎么随屏幕的大小改变自适应

    最近在做图表,记录一下用到的知识点,当做自己的日记吧,会不断添加新内容 1,echarts生成的图表大小怎么随屏幕的大小改变自适应? this.chart.setOption(this.options ...

  10. put与putIfAbsent区别

    put与putIfAbsent区别: put在放入数据时,如果放入数据的key已经存在与Map中,最后放入的数据会覆盖之前存在的数据, 而putIfAbsent在放入数据时,如果存在重复的key,那么 ...