针对客户端传来的一个URL(
协议 :// 域名 : 端口号 / 上下文路径 / 资源
),JBoss Web服务器如何确定调用哪个应用程序?
1、server.xml配置连接器:协议、端口号
配置文件:
\server\production\deploy\jbossweb.sar\server.xml
\server\production\deployers\jbossweb.deployer\server.xml
JBoss支持Http、Https协议;还支持AJP协议,允许本地Web服务器在二进制格式中发送请求,速度较快。
所以在server.xml中可以定义HTTP连接器、HTTPS连接器、AJP连接器:
<Server>
<Service name="jboss.web">
<!-- A HTTP/1.1 Connector on port 8080 -->
<!--redirectPort=443, 即转交给第三个Connector(https)处理-->
<!--注意,需要同时在web.xml中配置transport-guarantee才可对指定URL生效-->
<Connector protocol="HTTP/1.1" port="80" address="${jboss.bind.address}"
connectionTimeout="20000" redirectPort="443" URIEncoding="UTF-8"
compression="on" compressableMimeType="text/html,text/xml,text/css,text/javascript,
application/x-javascript,application/javascript,application/json"/>
<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.address}"
connectionTimeout="20000" redirectPort="443" URIEncoding="UTF-8"
compression="on" compressableMimeType="text/html,text/xml,text/css,text/javascript,
application/x-javascript,application/javascript,application/json"/>
<!--port=443-->
<Connector protocol="HTTP/1.1" SSLEnabled="true" port="443" address="${jboss.bind.address}"
scheme="https" secure="true" clientAuth="false" keystoreFile="${javax.net.ssl.keyStore}"
truststoreFile="${javax.net.ssl.trustStore}" keystorePass="${javax.net.ssl.keyStorePassword}"
truststorePass="${javax.net.ssl.trustStorePassword}" sslProtocol="TLS" URIEncoding="UTF-8"
compression="on" compressableMimeType="text/html,text/xml,text/css,text/javascript,
application/x-javascript,application/javascript,application/json"/>
<Connector protocol="HTTP/1.1" SSLEnabled="true" port="8443" address="${jboss.bind.address}"
scheme="https" secure="true" clientAuth="false" keystoreFile="${javax.net.ssl.keyStore}"
truststoreFile="${javax.net.ssl.trustStore}" keystorePass="${javax.net.ssl.keyStorePassword}"
truststorePass="${javax.net.ssl.trustStorePassword}" sslProtocol="TLS" URIEncoding="UTF-8"
compression="on" compressableMimeType="text/html,text/xml,text/css,text/javascript,
application/x-javascript,application/javascript,application/json"/>
<!-- Add this option to the connector to avoid problems with
.NET clients that don't implement HTTP/1.1 correctly
restrictedUserAgents="^.*MS Web Services Client Protocol 1.1.4322.*$"
<!-- A AJP 1.3 Connector on port 8009 -->
<Connector protocol="AJP/1.3" port="8009" address="${jboss.bind.address}" redirectPort="8443"/>
<Engine name="jboss.web" defaultHost="localhost">
<!-- The JAAS based authentication and authorization realm implementation
that is compatible with the jboss 3.2.x realm implementation.
- certificatePrincipal : the class name of the
org.jboss.security.auth.certs.CertificatePrincipal impl
used for mapping X509[] cert chains to a Princpal.
- allRolesMode : how to handle an auth-constraint with a role-name=*,
one of strict, authOnly, strictAuthOnly
+ strict = Use the strict servlet spec interpretation which requires
that the user have one of the web-app/security-role/role-name
+ authOnly = Allow any authenticated user
+ strictAuthOnly = Allow any authenticated user only if there are no
web-app/security-roles
<Realm className="org.jboss.web.tomcat.security.JBossWebRealm" certificatePrincipal="org.jboss.security.auth.certs.SubjectDNMapping" allRolesMode="authOnly"/>
<Host name="localhost">
<Valve className="org.jboss.web.rewrite.RewriteValve"/>
<Valve className="org.jboss.web.tomcat.service.sso.ClusteredSingleSignOn" requireReauthentication="true"/>
</Host>
</Engine>
<listener>
<listener-class>com.alpha.webstart.WebstartContextListener</listener-class>
</listener>
<servlet>
<servlet-name>JnlpDownloadServlet</servlet-name>
<servlet-class>jnlp.sample.servlet.JnlpDownloadServlet</servlet-class>
</servlet>
<servlet>
<servlet-name>CertificateServlet</servlet-name>
<servlet-class>com.alpha.webstart.CertificateServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JnlpDownloadServlet</servlet-name>
<url-pattern>*.jar</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>JnlpDownloadServlet</servlet-name>
<url-pattern>*.jnlp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>CertificateServlet</servlet-name>
<url-pattern>/certificate</url-pattern>
</servlet-mapping>
<filter>
<filter-name>CompressingFilter</filter-name>
<filter-class>com.planetj.servlet.filter.compression.CompressingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CompressingFilter</filter-name>
<url-pattern>*.jnlp</url-pattern>
</filter-mapping>
</web-app>
1、配置虚拟主机
所谓虚拟主机,是分割Web容器以向某些域 提供指定应用程序的机制。
同一个Web服务器可以拥有不同的域,每个域中包含不同的应用程序;即将不同的应用程序绑定到不同的虚拟主机上,如图:
步骤一,server.xml在连接器上启用虚拟主机
配置文件:
\server\production\deploy\jbossweb.sar\server.xml
\server\production\deployers\jbossweb.deployer\server.xml
将连接器的useIPVHosts特性设为true
步骤二,server.xml定义虚拟主机
配置文件:
\server\production\deploy\jbossweb.sar\server.xml
\server\production\deployers\jbossweb.deployer\server.xml
<Connector protocol="AJP/1.3" port="8009" address="${jboss.bind.address}" redirectPort="8443"/>
<Engine name="jboss.web" defaultHost="localhost">
<Host name="localhost" autoDeploy="false" deployOnStartup="false" deployXML="false">
<!--阀门、拦截器;当请求每次进入服务器时执行特定操作,例如记录客户端IP、查询是否在黑名单中-->
<Valve className="org.jboss.web.tomcat.service.sso.ClusteredSingleSignOn" requireReauthentication="true"/>
</Host>
<Host ...>
默认情况下,Host.name=localhost,表示虚拟主机能够处理进入服务器的每一个请求。
步骤三,jboss-web.xml将应用程序绑定到虚拟主机中
配置文件:
WEB-INF\jboss-web.xml
<jboss-web>
<virtual-host>www.site1.com<virtual-host>
</jboss-web>
2、全局应用程序配置
如果每个应用程序都有一些相同配置,则可以将这些配置提取到“全局配置文件”中
WEB-INF/web.xml ---- deployers/jbossweb.deployer/web.xml
WEB-INF/context.xml ---- deploy/jbossweb.sar/context.xml
WEB-INF/jboss-web.xml ---- 无
web.xml被称为标准部署描述符;context.xml和jboss-web.xml被称为专用部署描述符。
在JBoss 下web工程,为了使用容器提供的一些特性,需要使用jboss-web.xml进行配置。以下是一个配置好的jboss-web.xml示例。
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_...
首先从JBoss的官方下载 相关的程序,我这里下载的5.1版本的----jboss-5.1.0.GA.zip,之后 解压文件。
1. 配置Jboss的环境变量
1)在jboss-5.1.0.GA\bin的目录下面 找到 “run.bat"文件,编辑此文件,在第一行加上--
”set JAVA_HOME=JDK的安装目录“(如set JAVA_HOME=D:\Program Files\Jav
初次部署jboss的web应用,把tomcat/weblogic下的工程移植到jboss上发布
一、修改JBOSS应用服务器连接的数据库和端口:
1、端口修改:
4.*版: ${JBOSS_HOME}/server-->default-->deploy-->jbossweb.sar-->server.xml
5.*版...
JBoss Web和 Tomcat的区别
JBoss Web和 Tomcat的区别2009-12-14 11:18在Web2.0的浪潮中,各种页面技术和框架不断涌现,为服务器端的基础架构提出了更高的稳定性和可扩展性的要求。近年来,作为开源中间件的全 球领导者,JBoss在J2EE应用服务器领域已成为发展最为迅速的应用服务器。在市场占有率和服务满意度上取得了巨大的成功,丝毫不逊色于其它的非开源
最近接触到应用服务器JBoss,此外JBoss Web与Tomcat也同为web服务器,便查阅资料对三者进行比较,供大家参考。
一、Tomcat
Tomcat 服务器是免费开源的Web 应用服务器。支持最新的Servlet 和JSP 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服
在JBoss 下web工程,为了使用容器提供的一些特性,需要使用jboss-web.xml进行配置。以下是一个配置好的jboss-web.xml示例。
<!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN"
"http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
1、JBoss介绍JBoss完全实现了J2EE的服务栈:EJB (Enterprise JavaBeans)JMS (Java Message Service)JTS/JTA (Java Transaction Service / Java Transaction API)Servlet and JSP (JavaServer Pages)JNDI (Java Naming
jboss web采用tomcat作为基础进行了优化,默认增加了apr功能,提高并发性能。安装和部署流程同tomcat。在安装前需安装jdk1.6及以上版本。
1.下载最新的jboss web2.1.9或3.0版本
http://www.jboss.org/jbossweb/downloads/jboss-web.html
2.下载 JBoss Web Native Connec
JBOSS支持EJB,但Tomcat不支持.Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是目前较流行的Web应用服务器. JBoss在Tomcat的基础上,对其进行本地化,将Tomcat 以内嵌的方式集成到 JBoss 中. ...
service.bat 使用简单介绍:
service.bat install ---- Install Windows Service
service.bat uninstall ---- Uninstall Windows Service
service.bat start ---- Start Windows Service
service.bat stop ---- Sto...