初衷

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

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

概念

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

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

常见的servlet容器如Tomact。

主要方法

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

servlet实例

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter; @WebServlet("/MyServlet")
public class MyServlet extends HttpServlet { private String message; public void init() throws ServletException {
message="Hello World";
} protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/html;charset=UTF-8");
PrintWriter writer=resp.getWriter();
writer.println("<h2 style='color:red'>"+message+"</h2>");
} protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req,resp);
} @Override
public void destroy() {
super.destroy();
}
}

说明:

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

在web.xml中配置servlet

<!--配置servlet-->
<servlet>
<servlet-name>MyServlet</servlet-name>
<servlet-class>com.gree.servlet.MyServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>MyServlet</servlet-name>
<url-pattern>/MyServlet</url-pattern>
</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. PHP中引入文件的四种方式详解

    四种语句 PHP中有四个加载文件的语句:include.require.include_once.require_once. 基本语法 require:require函数一般放在PHP脚本的最前面,P ...

  2. 架构师养成记--32.Redis高级(安全 主从复制)

    Redis高级命令及特性 keys * 返回满足的所有键值(*表示模糊匹配) exists 是否存在指定的key(返回1表示存在,0表示不存在) expire 设置某个key的过期时间,使用ttl查看 ...

  3. 架构师养成记--21.netty编码解码

    背景 作为网络传输框架,免不了哟啊传输对象,对象在传输之前就要序列化,这个序列化的过程就是编码过程.接收到编码后的数据就需要解码,还原传输的数据. 代码 工厂类 import io.netty.han ...

  4. linux中pipe和dup2详解

    1.什么是管道 管道是半双工的,数据只能向一个方向流动:需要双方通信时,需要建立起两个管道: 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程): 单独构成一种独立的文件系统:管道对于管道两端的进 ...

  5. 网络基础 08_NAT

    1 NAT的基本概念 为什么需要NAT IPv4地址紧缺 什么是NAT NAT(Network Address Translation) 私有IPv4地址 10.0.0.0 - 10.255.255. ...

  6. 阿里云 下载的 apache 证书 转换为 pcks8 证书

    第一步: 百度 搜索  rsa 转 pcks8 将 .key 文件 转换成 pcks8.key . 第二部: 将 chain.crt 的 内容 复制到 public.crt 下方.. 新的 publi ...

  7. [Alpha]Scrum Meeting#5

    github 本次会议项目由PM召开,时间为4月7日晚上10点30分 时长10分钟 任务表格 人员 昨日工作 下一步工作 木鬼 撰写博客目录 整理清明开会记录 SiMrua 模型再训练(issue#1 ...

  8. SVN解决冲突的方法

    SVN管理代码工具在群组合作开发的过程中,若多人同时修改一个文件,就会出现冲突的情况. 冲突演示: 有A.B两个用户,他们各自从svn服务器中检出了file.txt文件,此时A.B.服务器三个地方的f ...

  9. 关于README的内容

    如何在开发项目的时候写出标准的README文件? 为什么要写这篇博客? 关于README的编写,这个也十分的重要,如果你觉得只是随便写写,那么你就错了:编写这部分也是相当的重要的.工欲善其事,必先利其 ...

  10. c#中异步编程

    异步是现实生活中的很多现象的一种抽象.比如分工合作在很多时间段就是异步合作.异步中也一般要涉及委托方法.c#有3种模式的异步编程:异步模式,基于事件的异步模式,基于任务的异步模式(TAP). 一.   ...