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. mysql中的内置函数

    这里主要介绍mysql丰富的内置函数. 数学函数 数学函数相对比较简单,就是涉及一些数值的计算,这里列出数学函数的功能,仅个别给出实例. 函数 作 用 ABX(x) 返回x的绝对值 CEIL(X),C ...

  2. DHCP的IP地址租约、释放

    转自:https://blog.csdn.net/wangdk789/article/details/27052505 当DHCP客户端获取到一个IP地址后,并不代表可以永久使用这个地址,而是有一个使 ...

  3. 迭代(遍历)时候不可以使用集合的remove和add方法,但可使用Java迭代器的remove和add方法

    不要在 foreach 循环里进行元素的 remove/add 操作.remove 元素请使用 Iterator 方式. 反例: public class ForeachTest { private ...

  4. java 动态绑定 多态

    继承链中对象方法的调用规则:当前类-->父类-->爷类-->..-->祖先类(只能向上找,不能向下找)优先级:this.method(Obj) > super.metho ...

  5. Codeforces Round #503 (by SIS, Div. 2)

    连接:http://codeforces.com/contest/1020 C.Elections 题型:你们说水题就水题吧...我没有做出来...get到了新的思路,不虚.好像还有用三分做的? KN ...

  6. Python模块1

    序列化模块: 将原本的字典.列表等内容转换成一个字符串的过程就叫做序列化. 序列化的目的 1.以某种存储形式使自定义对象持久化: 2.将对象从一个地方传递到另一个地方. 3.使程序更具维护性. jso ...

  7. 纸小墨ink简洁主题story爱上你的故事

    主题介绍 为纸小墨写的一款主题,该主题移植自Yumoe github地址:ink-theme-story Demo ink-theme-story 主题的一些食用说明 菜单 标题旁边有一个 · 字符, ...

  8. Tag

    C# ASP.NET SQL SERVER .Net Entity Framework JS Question Records Others

  9. Kde桌面的Mac化

    KDE->Mac \(Mac\) 的审美可以说是很成熟了,确实让人很喜欢啊!于是不由得想弄一个 \(Mac\) 风的桌面. 先放张图吧: 效果还蛮不错的哇. \(Mac\) 原生的壁纸下载链接: ...

  10. vue--transition-group

    1.为什么要使用<transition-group> <transition></transition>是vue封装的过渡组件 <transition nam ...