web服务器

tomcat与jboss集成

♀尐吖头ヾ 提交于 2019-12-04 13:29:17
最近接触到应用服务器JBoss,此外JBoss Web与Tomcat也同为web服务器,便查阅资料对三者进行比较,供大家参考。 一、Tomcat Tomcat 服务器是免费开源的Web 应用服务器。支持最新的Servlet 和JSP 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,不过,Tomcat处理静态HTML的能力不如Apache服务器。另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式,基于Tomcat的开发其实主要是Jsp和Servlet的开发。我们可以将Tomcat和Apache集成到一块,让Apache处理静态Html,而Tomcat处理Jsp和Servlet.这种集成只需要修改一下Apache和Tomcat的配置文件即可。 Tomcat也可以与其它一些软件集成起来实现更多的功能。如与上面提到的JBoss集成起来开发EJB,与Cocoon(Apache的另外一个项目)集成起来开发基于Xml的应用,与OpenJMS集成起来开发JMS应用,除了我们提到的这几种,可以与Tomcat集成的软件还有很多。 二、Jboss

Java web

China☆狼群 提交于 2019-12-04 11:57:08
1.Ajax AJAX = Asynchronous JavaScript and XML(异步 JavaScript 和 XML)。 Ajax 的原理简单来说通过 XmlHttpRequest 对象来向服务器发异步请求,从服务器获得数据,然后用 Javascript 来操作 DOM 而更新页面。这其中最关键的一步就是从服务器获得请求数据。 XmlHttpRequest 是 ajax 的核心机制,它是在 IE5 中首先引入的,是一种支持异步请求的技术。简单的说,也就是 Javascript 可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果 image.png 2.JQuery JQuery 是一个 JavaScript 库。功能包括 HTML 元素选取和操作、CSS 操作、HTML 事件函数、 JavaScript 特效和动画、HTML DOM 遍历和修改、AJAX 和 Utilities。除此之外,JQuery 还提供了大量插件。 基础语法: $(selector).action()。 选择器:主要分四大选择器,分别是基本选择器、层次选择器、过滤选择器、属性过滤选择器。 事件:例如 click()、dblclick()、mouseenter()、mouseleave()、mousedown()等。 3.Cookie 在 web 程序中是使用 HTTP

Fiddler Composer创建和发送HTTP Request

与世无争的帅哥 提交于 2019-12-04 06:44:15
文章转自:【小坦克】 https://www.cnblogs.com/TankXiao/archive/2013/01/08/2818542.html HTTP状态码,我都是现查现用。 我以前记得几个常用的状态码,比如200,302,304,404, 503。 一般来说我也只需要了解这些常用的状态码就可以了。 如果是做AJAX,REST,网络爬虫,机器人等程序。还是需要了解其他状态码。 本文我花了一个多月的时间把所有的状态码都总结了下,内容太多,看的时候麻烦耐心点了。 HTTP状态码的学习资料到处都有,但是都是理论上讲解。 本文介绍HTTP协议中的HTTP状态码(HTTP Status Code), 会对大部分的状态码都进行了详细的实例讲解。 要了解状态码,应该在实例中去理解状态码的意义,否则看了也会忘记的。 用Fiddler工具可以查看HTTP Request和Response, 还可以方便地查看Response中的状态码, 如果不熟悉这个工具,可以先参考【 Fiddler教程】 为了重现HTTP 状态码,本文会使用Fiddler Composer来创建“特殊的HTTP Request”. 可以参考【 Fiddler Composer创建和发送HTTP Request 】 阅读目录 什么是HTTP状态码 状态码分类 常见的状态码 1XX 消息 2XX 成功 3XX 重定向 4XX

JavaWeb面试题(转)

喜你入骨 提交于 2019-12-04 04:25:16
1、Tomcat的优化经验 答:去掉对web.xml的监视,把JSP提前编辑成Servlet;有富余物理内存的情况下,加大Tomcat使用的 JVM 内存。 2、什么是Servlet? 答:可以从两个方面去看Servlet: a、API:有一个接口servlet,它是servlet规范中定义的用来处理客户端请求的程序需要实现的顶级接口。 b、组件:服务器端用来处理客户端请求的组件,需要在web.xml文件中进行配置。 3、Servlet的生命周期,并说出Servlet和CGI的区别? 答:servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由 java x.servlet.servlet接口中的init、service、destroy方法表达。 web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现 根据请求的不同调用不同的do**()方法。结束服务,web容器调用servlet的destroy()方法。 区别: Servlet处于服务器进程中,它通过多线程运行service()方法,一个实例可以服务于多个请求,并且实例一般不会被销毁;而 CGI对每个请求都产生一个新的进程,服务完成后就销毁,所有效率低于Servlet。 4

web服务器获取请求客户端真实地址的方法

百般思念 提交于 2019-12-03 22:36:44
服务器获取客户端或者网页的请求,获取IP时需要注意, 因为一个请求到达服务器之前,一般都会经过一层或者多层代理服务器,比如反向代理服务器将http://192.168.1.10:port/ 的URL反向代理为http://www.xxx.com/ 的URL时,用request.getRemoteAddr() 方法获取的IP地址是:127.0.0.1 或 192.168.1.10 ,而并不是客户端的真实IP。但在经过代理服务器之后,请求头中都会多一些字段,我们可以根据这些字段来获取真实的IP而不是经过代理服务器生成的IP。 String ip = request.getHeader("X-Forwarded-For"); if (StringUtils.isNotEmpty(ip) && !"unKnow".equalsIgnoreCase(ip)) { //多次反向代理后会有多个ip值,第一个ip才是真实ip String[] ipList = ip.split(","); ip = ipList[0]; } else { ip = request.getHeader("X-Real-IP"); if (StringUtils.isEmpty(ip) || "unKnown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr();

《图解HTTP》读后总结

元气小坏坏 提交于 2019-12-03 21:08:07
阅读时间 :2019.10.30-2019.11.6 阅读心得 : 从知乎上看到有人推荐这本书,本身对计算机网络方面学习的比较少,于是就买来这本书开始看。这本书总体看下来比较轻松,因为书中的插画非常卡通,而且因为整本书都是在围绕HTTP进行讲解,所以内容上不会设计太多其他深奥的知识。读完之后,我对HTTP有了一个基本的认识,从以前只知道它是一个协议,到现在能够搞清楚这个协议内部的结构、返回的状态码等等,这都得益于这本小巧但又细致的书。也希望感兴趣的伙伴可以去读一读这本书呀! 阅读总结 : 【这本书一共有十一章,每一章都根据侧重点的不同展开介绍。在这里我将本书的章节框架展开,并根据自己读完的理解给每个部分做个小结,也方便自己日后复习。】 第一章:了解Web即网络基础 1.1 使用HTTP协议访问Web(什么是 HTTP ?什么是 客户端 、 服务器端 ?) 1.2 HTTP的诞生(诞生 原因 :知识共享; WWW (即Web)构建技术:HTML、HTTP、URL) 1.3 网络基础TCP/IP (HTTP是TCP/IP内部的一个子集;TCP/IP的传输流?发送端从应用层往下走,每通过一层增加首部,接收端从链路层往上走,每通过一层删除首部) TCP/IP分层 如下表所示: 应用层 各类应用服务,比如FTP(文件传输协议)、DNS(域名系统) 传输层 将计算机之间的数据进行分割、传输

自己动手写web服务器之虚拟端口支持

核能气质少年 提交于 2019-12-03 18:49:59
为什么需要支持虚拟端口? 如果不支持虚拟端口,每一个ip只能对应一个网站。再对应别的域名就需要加端口了。 支持虚拟端口的原理?? 首先,我们知道,当多个域名与一个ip相对。DNS只能提供ip地址,无法提供端口号。所以web browser无法知道多个域名与一个ip对应的时候那个域名应该使用哪个端口。当用户不能提供端口web browser只能使用80默认端口了。我们在DNS没法做人和作用。只能在web browser和web服务器上做手脚。web browser在发送request请求的时候,添加一个HOST项,web 服务器检查就可以了。 我就以将localhost和127.0.0.1对应不同的网站为例吧,可能不是很恰当,但是可以用来说明问题。如果向给好的话,可以通过修改host,将不同的域名对应到本地就行了。 下面主要代码:(本程序只是一个例子,只是用来说明原理,其中可有与实际开发中不允许的操作,也能会出现错误的,请大家谅解。本程序本人只在ubuntu12.04中使用系统默认的gcc编译成功,运行成功。在其他系统中为进行实验,请谅解。) 完整代码在最下面 完整代码下载 //虚拟端口处理操作。 void virtual_port_handler(char *buf, int connf) { char virtal_uri[] = "127.0.0.1"; int len =

HAProxy的基础配置详解

妖精的绣舞 提交于 2019-12-03 17:28:06
HAProxy的基础配置详解   HAProxy是高性能的企业级负载均衡调度器,同时支持四层TCP和七层HTTP协议的负载均衡调度,以及支持基于cookie的持久性,支持正则表达式及web状态统计、自动故障切换等优点,因此广泛被应用于企业内业务系统集群的入口作为负载均衡调度器。 HAPrpxy的配置文件haproxy.cfg由两大部分组成,分别是 global 和 proxies 部分。 global:全局配置段 1、进程及安全配置相关的参数 2、性能调整相关参数 3、Debug参数 global配置参数官方文档:https://cbonte.github.io/haproxy-dconv/2.0/intro.html global # 全局段配置 chroot #(安全配置选项)锁定haproxy用户运行目录。 deamon #以后台守护进程运行 stats socket /var/lib/haproxy/haproxy.sock mode 600 level admin #socket文件路径、文件权限及管理级别 user haproxy # 设置运行haproxy的用户(非登录用户),也可使用uid关键字替代。 group haproxy # 设置运行haproxy的用户组,也可使用gid关键字替代。 nbproc <number> #开启的haproxy进程数

Nginx+uWSGI+Django部署web服务器(转载)

自作多情 提交于 2019-12-03 17:21:12
原文地址: https://blog.csdn.net/u012145252/article/details/82147440 Nginx+uWSGI+Django部署web服务器 环境说明 前言 搭建项目 Django部署 编辑luffy/luffy/settings.py 编辑luffy/app01/views.py 编辑luffy/luffy/urls.py 运行并测试 uWSGI部署 测试运行uWSGI 使用uWSGI运行django项目 uWSGi热加载Djangoa项目 部署nginx nginx配置uwsgi和django django部署static文件 重新加载nginx进行测试 测试nginx 应用 uWSGI 和 test.py 用UNIX socket取代TCP port uwsgi部署加强 使用uwsgi配置文件运行django项目 安装uWSGI到真实环境中 uwsgi配置文件更多参数 uWSGI开机启动服务 环境说明 进行本文操作前需己搭建好的环境 linux系统,我用的是openSUSE 使用了operation用户的家目录做为测试环境 python3.5.6 virtualenv 16.0 pip3 18.0 nginx 1.13.1 后面进行安装的环境 django 1.11 uwsgi-2.0.17.1 前言 在多年前

Web 通信 之 长连接、长轮询(long polling)

▼魔方 西西 提交于 2019-12-03 14:23:38
基于HTTP的长连接,是一种通过长轮询方式实现"服务器推"的技术,它弥补了HTTP简单的请求应答模式的不足,极大地增强了程序的实时性和交互性。 一、什么是长连接、长轮询? 用通俗易懂的话来说,就是客户端不停的向服务器发送请求以获取最新的数据信息。这里的“不停”其实是有停止的,只是我们人眼无法分辨是否停止,它只是一种快速的停下然后又立即开始连接而已。 二、长连接、长轮询的应用场景 长连接、长轮询一般应用与WebIM、ChatRoom和一些需要及时交互的网站应用中。其真实案例有:WebQQ、Hi网页版、Facebook IM等。 如果你对服务器端的反向Ajax感兴趣,可以参考这篇文章 DWR 反向Ajax 服务器端推的方式: http://www.cnblogs.com/hoojo/category/276235.html 欢迎大家继续支持和关注我的博客: http://hoojo.cnblogs.com http://blog.csdn.net/IBM_hoojo 也欢迎大家和我交流、探讨IT方面的知识。 email: hoojo_@126.com 三、优缺点 轮询: 客户端定时向服务器发送Ajax请求,服务器接到请求后马上返回响应信息并关闭连接。 优点:后端程序编写比较容易。 缺点:请求中有大半是无用,浪费带宽和服务器资源。 实例:适于小型应用。 长轮询: