初衷

想学习下服务器这边的知识,制定了一条学习路线:java8--->servlet--->springMvc--->springBoot--->springCloud。在此当做学习笔记。

本文开发环境是IDEA正式版。

概念

servlet本质是一个java接口,这个接口定义了处理网络请求的一组规范或需求描述。

servlet容器将请求分发给servlet,由特定的servlet处理请求。

常见的servlet容器如Tomact。

主要方法

  • init() :初始化servlet
  • service() :处理客户端请求
  • destroy() :终止servlet(servlet由JVM进行垃圾回收)

servlet实例

  1. import javax.servlet.ServletException;
  2. import javax.servlet.annotation.WebServlet;
  3. import javax.servlet.http.HttpServlet;
  4. import javax.servlet.http.HttpServletRequest;
  5. import javax.servlet.http.HttpServletResponse;
  6. import java.io.IOException;
  7. import java.io.PrintWriter;
  8.  
  9. @WebServlet("/MyServlet")
  10. public class MyServlet extends HttpServlet {
  11.  
  12. private String message;
  13.  
  14. public void init() throws ServletException {
  15. message="Hello World";
  16. }
  17.  
  18. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  19. resp.setContentType("text/html;charset=UTF-8");
  20. PrintWriter writer=resp.getWriter();
  21. writer.println("<h2 style='color:red'>"+message+"</h2>");
  22. }
  23.  
  24. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  25. doGet(req,resp);
  26. }
  27.  
  28. @Override
  29. public void destroy() {
  30. super.destroy();
  31. }
  32. }

说明:

  • 我们的api中已经有两个实现好servlet接口的类,分别是HttpServlet和GenericServlet,通常自己只需要继承HttpServlet类即可。
  • @WebServlet注解用来标注URL和servlet的映射。(还有一种配置方法是在web.xml中配置servlet,请看下面说明)
  • PrinterWriter是字符类型的打印输出流,继承于Writer。

在web.xml中配置servlet

  1. <!--配置servlet-->
  2. <servlet>
  3. <servlet-name>MyServlet</servlet-name>
  4. <servlet-class>com.gree.servlet.MyServlet</servlet-class>
  5. </servlet>
  6.  
  7. <servlet-mapping>
  8. <servlet-name>MyServlet</servlet-name>
  9. <url-pattern>/MyServlet</url-pattern>
  10. </servlet-mapping>

说明:

  • servlet-name:要注册的servlet名称。
  • servlet-class:指向要注册的servlet类的地址,包名加类名。
  • url-pattern:配置注册的servlet组件的访问路径。
  • 注意上下两个servlet-name要一致。

以上是一个servlet最简单的例子,但仅仅是关于servlet。

贴上两个优秀的手把手建web项目指导帖,大家可以参考下,人家写的很详细我就不重复了。有不懂的问题欢迎私信,一起学习啊~

idea搭建web工程帖:https://www.cnblogs.com/Sinte-Beuve/p/5730553.html

web工程详细配置帖:https://www.cnblogs.com/deng-cc/p/6416332.html

服务器学习笔记之servlet的更多相关文章

  1. Java学习笔记之---Servlet

    Java学习笔记之---Servlet (一)如何实现Servlet 1.实现javax.servlet.Servlet接口: 2.继承javax.servlet.GenericServlet类: 3 ...

  2. Kestrel Web 服务器学习笔记

    前言: ASP.NET Core 已经不是啥新鲜的东西,很多新启的项目都会首选 Core 做开发: 而 Kestrel 可以说是微软推出的唯一真正实现跨平台的 Web 服务器了: Kestrel 利用 ...

  3. <J2EE学习笔记>关于Servlet的讲义

    题外话:接触java又是半年之前的事情了,当初好好学了java却把cpp给忘了,到现在又把手里发热的cpp给放下重新捡起来java,究竟这两种OOP语言我能不能清晰分开记住呢 以下全部课件来自于同济大 ...

  4. JavaWeb学习笔记之Servlet(一)

    1. 引子: 当我们开始进入JavaWeb开发的学习时,我们就必须要和Servlet和HTTP这两个词进行打交道了,尤其是Servlet.即使到了后面使用JSP (我们知道JSP其本身就是一个Serv ...

  5. JavaWeb学习笔记三 Servlet

    Servlet 是运行在服务端的Java小程序,是sun公司提供一套规范(接口),用来处理客户端请求.响应给浏览器的动态资源.但servlet的实质就是java代码,通过java的API,动态的向客户 ...

  6. 游戏服务器学习笔记 5———— twisted Perspective Broker 透明代理

    实际上这章压根不需要我来说,twisted官网的Doc里面有专门介绍的章节.写的非常详细. http://twistedmatrix.com/documents/current/core/howto/ ...

  7. 1.2(学习笔记)Servlet基础(doGet、doPost、生命周期、页面跳转)

    一.doGet()与doPost() 我们在TestServlet类中重写doGet().doPost().service(). import javax.servlet.ServletExcepti ...

  8. Linux操作系统服务器学习笔记一

    初识Linux: Linux 是什么? Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作系统.它能运行主要的UNIX工具软件.应用程序和网络协议 ...

  9. 【学习笔记】Servlet的配置

    为了让Servlet能响应用户的请求,需要将Servlet配置在Web应用中. 从Servlet3.0开始,配置Servlet有两种方式: l 在Servlet类中使用@WebServlet Anno ...

随机推荐

  1. 【1】JMicro微服务-RPC体验

    如非授权,禁止用于商业用途,转载请注明出处作者:mynewworldyyl JMICRO运行简单服务提供者和消费者 1. 下载源代码 git checkout https://github.com/m ...

  2. hive连接mysql遇到的问题

    启动hive之前应该先启动metastore,也是在bin目录下:./hive --service metastore &然后再启动hive: ./hive 今天连接hive时总是报错:Una ...

  3. iOS开发~制作同时支持armv7,armv7s,arm64,i386,x86_64的静态库.a以及 FrameWork 的创建

    armv7,armv7s,arm64,i386,x86_64 详解 一.概要 平时项目开发中,可能使用第三方提供的静态库.a,如果.a提供方技术不成熟,使用的时候就会出现问题,例如: 在真机上编译报错 ...

  4. C#-WebForm-LinQ-条件精确查询、高级查询

    前台界面,并在后台绑定数据 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Ca ...

  5. 【转载】MDX Step by Step 读书笔记(三) - Understanding Tuples (理解元组)

    1. 在 Analysis Service 分析服务中,Cube (多维数据集) 是以一个多维数据空间来呈现的.在Cube 中,每一个纬度的属性层次结构都形成了一个轴.沿着这个轴,在属性层次结构上的每 ...

  6. css左右布局,左侧固定,右侧自适应

    实现布局的几种方法,见代码: <!DOCTYPE html> <html lang="cn"> <head> <meta charset= ...

  7. Sci-Hub

    提到Sci-Hub这个文献下载利器,大家肯定都不陌生.你在各大SCI杂志上看到的英文文献,90%以上都能免费下载.因为它严重侵犯了爱思唯尔.施普林格.Wiley等各大出版商的利益,遭到起诉与封杀. 不 ...

  8. Bluetooth Lowe Energy

    BTL---------- // Wikipedia  --------The first review paper to read when you counterred a new filed . ...

  9. hadoop完全分布式手动安装(一主多从centos linux各版本均试验成功,文档完整无一遗漏)

    hadoop完全分布式手动安装(一主多从centos linux各版本均试验成功,文档完整无一遗漏) 网上的文章99%都是垃圾,我凭良心书写,确保幼儿园同学也能安装成功! 查看系统环境    1.查看 ...

  10. linux 安装php bz2扩展

    折腾了半天,最大的坑就是我是用lnmp一键安装php环境,php7下面没有ext文件夹,有个include下面虽然有个ext 但是里面没有需要的bz2 也尝试去pecl  和 pear 上面去找  无 ...