tomcat AJP 是什么东西,第1张

AJP(Apache JServ Protocol)是定向包协议。因为性能原因,使用二进制格式来传输可读性文本。WEB服务器通过 TCP连接 和 SERVLET容器连接。

由于tomcat的html和解析功能相对其他服务器如apche等较弱,所以,一般都是集成起来使用,只有jsp和servlet服务交由tomcat处理,而tomcat和其他服务器的集成,就是通过ajp协议来完成的。

为了减少进程生成socket的花费,WEB服务器和SERVLET容器之间尝试保持持久性的TCP连接,对多个请求/回复循环重用一个连接。一旦连接分配给一个特定的请求,在请求处理循环结束之前不会再分配。

换句话说,在连接上,请求不是多元的。这个使连接两端的编码变得容易,虽然这导致在一时刻会有很多连接。

扩展资料:

WEB服务器连接到SERVLET容器的状态类型:

1、空闲

这个连接上没有处理的请求。

2、已分派

连接正在处理特定的请求。

一旦一个连接被分配给一个特定的请求,在连接上发送的基本请求信息是高度压缩的。在这点,SERVLET容器大概准备开始处理请求,当它处理的时候,它能发回下面的信息给WEB服务器:

3、SEND_HEADERS

发送一组头到浏览器。

4、SEND_BODY_CHUNK

发送一块主体数据到浏览器。

5、GET_BODY_CHUNK

从请求获得下一个数据如果还没有全部传输完,如果请求内容的包长度非常大或者长度不确定,这是非常必要的。例如上载文件。注意这和HTTP的块传输没有关联。

6、END_RESPONSE

结束请求处理循环。

—ajp

出现该问题,主要是因为tomcat版本高的原因。我使用tomcat 8024,便没有此问题,当我使用tomcat 85+ 时,就会出现该问题,需要修改我下面书写的配置,才能生效!

一、检查linux

linux文件访问默认权限与umask有关,查看系统默认配置(/etc/profile)是否正常,如果是002或022就正常没有问题。

[umask 002 对应文件权限664,文件夹权限775;

umask 022对应文件权限644,文件夹权限755]

二、检查tomcat

打开bin/catalinash文件,检查大概在263行左右。

将0027改改为0022,重启tomcat,上传访问的问题解决。

原代码

# Set UMASK unless it has been overriddenif [ -z "$UMASK" ]; then

UMASK="0027"fi

改为

# Set UMASK unless it has been overriddenif [ -z "$UMASK" ]; then

UMASK="0022"fi

三、重启tomcat

sh shutdownsh(关闭)

sh startupsh 或者 /startupsh(启动)

1把/tomcat/webapps/目录清空,删掉该文件夹的所有内容,

2修改/tomcat/conf/webxml文件:

将其中的false 修改为 true;一般这样处理已经可以解决问题了,如果不行再看下面的3 试试

3修改/tomcat/conf/serverxml文件:给工程配置虚拟路径,这样tomcat在启动的时候直接找到你的工程了,

你上传的就不会跑到/tomcat/webapps/目录,而是直接到了你的工程里,

不管你怎样重启项目,或者清理缓存,上传的文件依然存在!

如果想让tomcat服务器访问指定磁盘 上的静态资源,可在tomcat/conf/serverxml中查找<Host></Host>,在标签中添加如下标签<Context path="/file" docBase="D:/img" reloadable="true"/>,再通过localhost:8080/file地址来访问路境内的文件:

如要访问名为d:/img/catpng的,则localhost:8080/file/catpng

Tomcat:允许站点的web服务器,如网易邮箱(如果使用Tomcat)

JDK:用于开发Java的Java开发工具。许多web站点使用此工具进行开发

一般来说,副本是使用JDK开发的软件,在tomcat中运行,我们访问Internet,就是访问tomcat来获取一个类似服务器的服务器。

tomcat和jdk的区别:

一、指代不同

1.JDK:Java语言软件开发工具包,主要用于移动设备和嵌入式设备上的Java应用程序。

2.tomcat:是一个普通的服务器,本身只支持HTML是普通的网页。

二、功能不同

1.JDK:Java开发的核心。它包含Java运行时环境(JVM+Java系统类库)和Java工具。源

2.Tomcat:Tomcat是Apache软件基金会Jakarta项目开发的Servlet容器。

它根据SunMicrosystems提供的技术规范实现了对servlet和JavaServerPage(JSP)的支持,并提供了一些作为Web服务器的独特功能。

三、特征不同

1.JDK:没有JDK,Java程序无法编译(参考Javasource.java文件)。如果您只想运行Java程序(引用类或jar或其他归档文件),请确保安装了适当的JRE。

2.Tomcat:Tomcat本身包含一个HTTP服务器,它也可以被看作是一个独立的Web服务器。

先说解决办法吧,后面在分析:

1把/tomcat/webapps/目录清空,删掉该文件夹的所有内容,

2修改/tomcat/conf/webxml文件:

<servlet><servlet-name>default</servlet-name><servlet-class>orgapachecatalinaservletsDefaultServlet</servlet-class><init-param><param-name>debug</param-name><param-value>0</param-value></init-param><init-param><param-name>listings</param-name><param-value>true</param-value></init-param><load-on-startup>1</load-on-startup></servlet

3修改/tomcat/conf/serverxml文件:

<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valvehtml --><!-- <Valve className="orgapachecatalinaauthenticatorSingleSignOn" /> --><!-- Access log processes all example Documentation at: /docs/config/valvehtml --><!-- <Valve className="orgapachecatalinavalvesAccessLogValve" directory="logs" prefix="localhost_access_log" suffix="txt" pattern="common" resolveHosts="false"/> --><!----><Context path="/ser" docBase="D:\project\myProject\editor\WebRoot"></Context><!--<Context path="/mvc" docBase="D:\project\myProject\你的项目名\WebRoot"></Context>--></Host>

分析:

重新redeploy的时候, tomcat 会同步你本地的文件 ,因为本地没有相应的文件夹导致文件丢失。

这只是在开发过程中会遇到的问题 实际应用中 tomcat 只会 startupbat/sh shutdownbat/sh

我们这样做,其实就是给工程配置虚拟路径,这样tomcat在启动的时候直接找到工程了,

上传的就不会仅仅只在/tomcat/webapps/目录,而直接到了你的工程里,

不管你怎样重启项目,或者清理缓存,上传的文件依然存在!

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » tomcat AJP 是什么东西

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情