Java实现Http服务器(二)】的更多相关文章

上节讲到的JDK自带的HttpServer组件,实现方法大概有三十个类构成,下面尝试着理解下实现思路. 由于Java的source代码中有很多注释,粘贴上来看着费劲,自己写个程序消除注释. import java.io.BufferedReader; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReade…
Java获取Web服务器文件 如果获取的是服务器上某个目录下的有关文件,就相对比较容易,可以设定死绝对目录,但是如果不能设定死绝对目录,也不确定web服务器的安装目录,可以考虑如下两种方式: 方法一:先获取web服务器当前绝对位置,然后拼接相对目录 考虑到java web项目一般会采用strust2来做,所以可以使用ServletActionContext.getServletContext().getRealPath("")来获取当前的web服务器绝对路径.再拼接相对位置即可,总的程…
一.前言 此游戏服务器架构是一个单服的形式,也就是说所有游戏逻辑在一个工程里,没有区分登陆服务器.战斗服务器.世界服务器等.此架构已成功应用在了多款页游服务器 .在此框架中没有实现相关业务逻辑,只有简单的测试用的注册登陆功能.但在此框架中添加相应的业务逻辑也是比较轻松的,只需要添加相应的协议,编写对应的消息处理器即可. 下面是项目代码的地址: 服务器工程---GameServer,游戏服务器工程 测试客户端---TestClient,模拟客户端与服务器通信,用于测试服务器功能 项目工具 ---T…
Android中实现java与PHP服务器(基于新浪云免费云平台)http通信详解 (本文转自: http://blog.csdn.net/yinhaide/article/details/44756989) 前言:现在很多APP都需要云的功能,也就是通过网络与服务器交换数据.有的采用tcp/ip协议,但是你必须拥有一个固定ip的服务器,可以购买阿里云服务器之类的,就是贵了点.如果只是个人的小应用的的话可以采用新浪云平台这种免费的服务器,采用的协议是http协议,具体实现方式如下: 方式一.在线…
一.超文本传输协议  1.1 HTTP请求  1.2 HTTP应答  二.Socket类  三.ServerSocket类  四.Web服务器实例  4.1 HttpServer类  4.2 Request类  4.3 Response类  五.编译和运行  ===================  正文:  ===================  Web服务器与客户端的通信使用HTTP协议(超文本传输协议),所以也叫做HTTP服务器.用Java构造Web服务器主要用二个类,java.net.…
今日要闻: 性价比是个骗局: 对某个产品学上三五天个把月,然后就要花最少的钱买最多最好的东西占最大的便宜. 感谢万能的互联网,他顺利得手,顺便享受了智商上的无上满足以及居高临下的优越感--你们一千块买来的东西,我半价就入手了. 他忘了自己花了多少时间多少精力找到这个淘宝店,也忘了自己花了多少时间多少精力把这个淘宝店的评价看了个遍分析了个遍,更忘了自己花了多少时间多少精力学习分辨港版.美版.A货.B货.这些都是成本.当然,这不是问题,这么多时间和精力用在赚钱上也许赚不到五百块,两相比较,还是赚了.…
实战WEB 服务器(JAVA编写WEB服务器) 标签: web服务服务器javawebsockethttp服务器 2010-04-21 17:09 11631人阅读 评论(24) 收藏 举报  分类: Socket/multi Thread(54) KJAVA/J2ME(1)  版权声明:本文为博主原创文章,未经博主允许不得转载. 一.超文本传输协议 1.1 HTTP请求 1.2 HTTP应答 二.Socket类 三.ServerSocket类 四.Web服务器实例 4.1 HttpServer…
Java进阶(三十二) HttpClient使用详解 Http协议的重要性相信不用我多说了,HttpClient相比传统JDK自带的URLConnection,增加了易用性和灵活性(具体区别,日后我们再讨论),它不仅是客户端发送Http请求变得容易,而且也方便了开发人员测试接口(基于Http协议的),即提高了开发的效率,也方便提高代码的健壮性.因此熟练掌握HttpClient是很重要的必修内容,掌握HttpClient后,相信对于Http协议的了解会更加深入. 一.简介 HttpClient是A…
博客地址:https://ainyi.com/58 Java 开发精美艺术二维码 看到网络上各种各样的二维码层出不穷,好像很炫酷的样子,一时兴起,我也要制作这种炫酷二维码效果 例如: 根据以往例子 根据之前所做的小项目 java 开发二维码系统 以这个为基础,将实现精美艺术二维码 基本代码: // 创建二维码对象 Qrcode qrcode = new Qrcode(); // 设置二维码的纠错级别 // L(7%) M(15%) Q(25%) H(30%) qrcode.setQrcodeEr…
其实编写一个入门级别的JAVA的WEB服务器,很简单,用SOCKET类即可实现.相关内容可以参考:http://www.cnblogs.com/liqiu/p/3253022.html 一.首先创建一个目录,目录内结构如下: @~/study/webserver $ tree.├── src│   └── com│       └── taobao│           ├── HttpServer.java│           ├── Request.java│           └──…
一.Java中的服务器程序与多线程 在Java之前,没有一种主流编程语言能够提供对高级网络编程的固有支持.在其他语言环境中,实现网络程序往往需要深入依赖于操作平台的网络API的技术中去,而Java提供了对网络支持的无平台相关性的完整软件包,使程序员没有必要为系统网络支持的细节而烦恼. Java软件包内在支持的网络协议为TCP/IP,也是当今最流行的广域网/局域网协议.Java有关网络的类及接口定义在java.net包中.客户端软件通常使用java.net包中的核心类Socket与服务器的某个端口…
源地址:http://www.cnblogs.com/metoy/p/4305326.html?utm_source=tuicool&utm_medium=referral 一.前言 此游戏服务器架构是一个单服的形式,也就是说所有游戏逻辑在一个工程里,没有区分登陆服务器.战斗服务器.世界服务器等.此架构已成功应用在了多款页游服务器 .在此框架中没有实现相关业务逻辑,只有简单的测试用的注册登陆功能.但在此框架中添加相应的业务逻辑也是比较轻松的,只需要添加相应的协议,编写对应的消息处理器即可. 下面…
既然这篇文章用的是nodejs和Java访问远程服务器的服务,那么咱们先用另一门编程语言,SAP的ABAP(我日常工作使用得最多的编程语言)来开发一个服务吧. 这是我用ABAP编程语言实现服务的类:ZCL_DIS_HTTP_HANDLER 这个类实现了一个接口IF_HTTP_EXTENSION里定义的一个方法HANDLE_REQUEST. 大家可以不用被ABAP陌生的语法所迷惑,其实和Java的Servlet是相通的. 我画了张图: 我的这个远程服务很简单,就是无论调用者发送什么,都简单地返回一…
本文接着上一篇写的<Java微服务(二):服务消费者与提供者搭建>,上一篇文章主要讲述了消费者与服务者的搭建与简单的实现.其中重点需要注意配置文件中的几个坑. 本章节介绍一些零散的内容:服务的负载均衡,序列化和熔断 1.服务负载均衡 负载均衡可分为软件负载均衡和硬件负载均衡.在我们日常开发中,一般很难接触到硬件负载均衡.但软件负载均衡还是可以接触到的,比如 Nginx.dubbo提供的也是软负载. 详细内容可以阅读dubbo官网关于负载均衡的介绍,这里总结下负载均衡的方式: 权重随机算法的 R…
一.服务器 1.服务器 服务器:安装了服务器软件的计算机 2.服务器软件 服务器软件:接收用户的请求,处理请求,做出响应 3.Web 服务器软件 web 服务器软件:接收用户的请求,处理请求,做出响应. 在 web 服务器软件(web容器)中,可以部署 web 项目,让用户通过浏览器来访问这些项目. 二.常用的 Java 相关的 web 服务器软件 1.webLogic webLogic:Oracle 公司,大型的 JavaEE 服务器,支持所有的 Java规范,收费. 2.webSphere…
Java访问Oracle服务器--orcl数据库---emp表 private static String driver =         "oracle.jdbc.driver.OracleDriver";//访问oracle服务器的驱动名称        private static String url =         "jdbc:oracle:thin:@127.0.0.1:1521:orcl";//访问oracle服务器的连接字串     priva…
java中使用 [][] 来定义二维数组 定义数组时也可同时初始化下面是一些例子float[][] numthree; //定义一个float类型的2维数组numthree=new float[5][5]; //为它分配5行5列的空间大小numthree[0][0]=1.1f; //通过下标索引去访问 1行1列=1.1long[][] numfive=new long[5][]; //定义一个long类型的不规则数组numfive[0]=new long[5]; //为第1行分配5列//定义do…
原创文章,同步发自作者个人博客,http://www.jasongj.com/design_pattern/strategy/ 策略模式介绍 策略模式定义 策略模式(Strategy Pattern),将各种算法封装到具体的类中,作为一个抽象策略类的子类,使得它们可以互换.客户端可以自行决定使用哪种算法. 策略模式类图 策略模式类图如下 策略模式角色划分 Strategy 策略接口或者(抽象策略类),定义策略执行接口 ConcreteStrategy 具体策略类 Context 上下文类,持有具…
原创文章,同步发自作者个人博客,转载请以超链接形式在文章开头处注明出处http://www.jasongj.com/java/thread_safe/ 多线程编程中的三个核心概念 原子性 这一点,跟数据库事务的原子性概念差不多,即一个操作(有可能包含有多个子操作)要么全部执行(生效),要么全部都不执行(都不生效). 关于原子性,一个非常经典的例子就是银行转账问题:比如A和B同时向C转账10万元.如果转账操作不具有原子性,A在向C转账时,读取了C的余额为20万,然后加上转账的10万,计算出此时应该…
前面LZ已经充分介绍了有关于List接口的大部分知识,如ArrayList.LinkedList.Vector.Stack,通过这几个知识点可以对List接口有了比较深的了解了.只有通过归纳总结的知识才是你的知识.所以下面LZ就List接口做一个总结.推荐阅读: java提高篇(二一)-----ArrayList java提高篇(二二)-----LinkedList java提高篇(二九)-----Vector Java提高篇(三一)-----Stack 一.List接口概述 List接口,成为…
在java提高篇(二一)-–ArrayList.java提高篇(二二)-LinkedList,详细讲解了ArrayList.linkedList的原理和实现过程,对于List接口这里还介绍一个它的实现类Vector,Vector 类可以实现可增长的对象数组. 一.Vector简介 Vector可以实现可增长的对象数组.与数组一样,它包含可以使用整数索引进行访问的组件.不过,Vector的大小是可以增加或者减小的,以便适应创建Vector后进行添加或者删除操作. Vector实现List接口,继承…
      在前面三篇博文中LZ讲解了(HashMap.HashSet.HashTable),在其中LZ不断地讲解他们的put和get方法,在这两个方法中计算key的hashCode应该是最重要也是最精华的部分,所以下面LZ揭开hashCode的"神秘"面纱. hashCode的作用       要想了解一个方法的内在原理,我们首先需要明白它是干什么的,也就是这个方法的作用.在讲解数组时(java提高篇(十八)------数组),我们提到数组是java中效率最高的数据结构,但是&quo…
20145213<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装,继承,多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 一. 单元测试 三种代码 伪代码 产品代码 测试代码 伪代码是产品代码最自然.最好的注释.那么什么是伪代码呢?如下图所示: 如果成绩小于60,转成"不及格" 如果成绩在60与70之间,转成"及格" 如果成绩在70与80之间,转成&…
20145206<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 (1) 三种代码 ·伪代码 ·产品代码 ·测试代码 Example: 需求:我们要在一个MyUtil类中解决一个百分制成绩转成"优.良.中.及格.不及格"五级制成绩的功能. 伪代码: 百分制转五分制: 如果成绩小于60,转成"…
20145308刘昊阳 <Java程序设计>实验二 Java面向对象程序设计 实验报告 实验名称 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面相对象三要素:封装.继承.多态 初步掌握UML建模 掌握S.O.L.I.D原则 了解设计模式 统计的PSP(Personal Software Process)时间 步骤 耗时(min) 百分比 需求分析 20~30 12.5% 设计 20~30 12.5% 代码实现 50~60 25% 测试 50~60 25% 分析总结…
Java NIO 入门(二)缓冲区内部细节 概述 本文将介绍 NIO 中两个重要的缓冲区组件:状态变量和访问方法 (accessor). 状态变量是前一文中提到的"内部统计机制"的关键.每一个读/写操作都会改变缓冲区的状态.通过记录和跟踪这些变化,缓冲区就可能够内部地管理自己的资源. 在从通道读取数据时,数据被放入到缓冲区.在有些情况下,可以将这个缓冲区直接写入另一个通道,但是在一般情况下,您还需要查看数据.这是使用访问方法get()来完成的.同样,如果要将原始数据放入缓冲区中,就要使…
20145317<Java程序设计>实验二Java面向对象程序设计实验报告 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验过程 (一)单元测试 (1) 三种代码: 伪代码.产品代码.测试代码. (2)TDD(Test Driven Devlopment, 测试驱动开发) 定义:这种先写测试代码,然后再写产品代码的开发方法叫“测试驱动开发”(TDD).一般步骤如下: ①明确当前要完成的功能,记录成…
JSON数据由 JSONObject.JSONArray.key_value 组合而成.通常来说,JSONObject 可以包含 JSONObject.JSONArray.key_value:JSONArray只能包含 JSONObject 的列表:key_value 为最小单元,且只能在 JSONObject 中获取.获取 JSONObject.JSONArray.key_value 三种数据的方法如下所示: 获取 JSONObject:JSONObject.getJSONObject(key…
20145120 <Java程序设计>实验二实验报告 实验名称:Java面向对象程序设计 实验目的与要求: 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验内容.步骤 步骤 耗时 百分比 需求分析 1 10% 设计 1 10% 代码实现 3 30% 测试 3 30% 分析总结 2 20% 代码调试过程 伪代码 ComplexNumber() 构造函数,将实部,虚部都置为0 ComplexNumber(dou…
想用JAVA做一个服务器,请问怎么利用TCP和线程,实现多个客户端同时在线,能与服务器进行交互? 服务器监听端口 做个无限循环 接到一个连接就创建一个通道线程,并将通道线程存储到一个list集合中 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 5…