模拟一个简单的tomcat】的更多相关文章

目录 简单处理 每个请求一个线程 模拟tomcat 参考 简单处理 // 客户端和服务器的通信,说到底就是两个数据的传输, // 客户端发送inputStream给服务器,服务器回复 // outputStream给客户端. public class TomcatServerV1 { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(80…
实现一个简单的Tomcat 1. Tomcat作用 我们的web应用会运行在Tomcat中,那么显然请求必定是先到达Tomcat的,Tomcat对于请求实际上会进行如下的处理: 提供Socket服务:Tomcat的启动,必然是Socket服务,支持http协议. 进行请求的分发:一个Tomcat可以为多个web应用提供服务,那么就需要把url下发到不同的web应用. 需要将请求和响应封装成request和response:我们在写后端代码的时候都是直接使用request和response的,这是…
servlet容器的职责 总的来说,一个全功能的servlet容器会为servlet的每个HTTP请求做下面的一些工作: 1,当第一次调用servlet的时候,加载该servlet类并调用servlet的init方法,只有一次, 2,对于每次请求,都要new出一个request请求和response相应实例, 3,调用servlet的service方法,同时传递ServletRequest和ServletResponse对象, 4,当servlet类被关闭的时候,调用servlet的destro…
先简单说下几个概念,根据自己的理解,不正确请见谅. web服务器 首先要知道什么是web服务器,简单说web服务器就是可以使用HTTP传输协议与客户端进行通信的服务器.最初的web服务器只能用来处理静态页面,而tomcat服务器更加强大,不仅可以处理静态页面,还可以运行java类文件,动态创建页面并返回给浏览器,之所以说tomcat是个容器,就是可以运行servle类的容器,同时可以处理http请求,并返回相应内容. HTTP协议 http协议是应用层协议,底层使用tcp建立可靠传输连接.所谓协…
webservice是对socket的一个封装,让远程调用调用变得更加简单,那么使用socket究竟有多么麻烦呢?来看看. 做一个简单的天气查询: 服务端: public class SocketServer { public static void main(String[] args) { DataInputStream dataInputStream = null; DataOutputStream dataOutputStream = null; try { // 启动socket服务端…
最近在学习unix网络编程,现在正在学习tcp的通信.其实,只要建立起了tcp通信,操作远端的计算机就不是什么问题了.正向telnet一样,也是基于tcp/IP协议的.所以这个实验,也算是对telnet功能的一种简单的模拟. 但是,值得注意的问题是关机涉及到系统权限,所以要给运行在Server端的程序以足够的权限,这样才可以在接收到Client端的关机请求时,执行关机. 将会模拟如下执行过程: 1. 执行 mytelnet 跟上参数telnet服务器 IP地址 127.0.0.1 2. 输入lo…
servlet接口 使用servlet编程需要实现或者继承实现了javax.servlet.Servlet接口的类,其中定义了5个签名方法: public void init(ServletConfig config) throws ServletException public void service(ServletRequest req,ServletResponse res) throws ServletException,java.io.IOException public void…
v 项目源码 https://github.com/hjzgg/java_QQ v 标题效果       package testFour; import java.awt.Color; import java.awt.Dimension; import java.awt.FontMetrics; import java.awt.Graphics; import java.io.ByteArrayInputStream; import java.io.IOException; import ja…
当前工作中,前端的主要技术栈用是vue. 那React怎么办呢?总不至于把他扔在墙角吧! 只能在一些很小的项目上,也只有自己一个前端的时候,悄悄的上React. 当然,React项目UI组件还是最喜欢的Antd了. 近期的一个项目,就这么上了React和Antd,然后当中有一棵树组件. 简单看一下树组件的设计图吧! 看了设计图,就发现一个小问题. Antd组件库当中的Tree组件子节点的向右缩进是通过父节点的padding-left实现的.那么就这么尴尬了,子节点的选中状态背景色没办法占满整行.…
首先,需要添加权限. <uses-permission android:name="android.permission.INTERNET"/> 整体代码如下: package com.tarena.viewer; import java.io.IOException; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; i…