JBossspringboot是什么框架架?和SSH框架有什么不同

http://download.jboss.org/jbosside/updates/stable
/updates/3.0/
http://download.jboss.org/jbosstools/updates/development
http://download.jboss.org/jbosstools/updates/stable/galileo/
一、 概述
JBoss是一个开源的符合J2EE规范的应用服务器, 在J2EE应用服务器领域,JBoss是发展最为迅速的应用服务器。JBoss是免费的,开放源代码J2EE的实现,它通过LGPL许可证进行发布,这使得JBoss广为流行。从JBoss项目开始至今,它已经从一个EJB容器发展成为一个基于的J2EE的一个web 操作系统(operating system for web),它体现了J2EE规范中最新的技术。JBoss4.2X的web容器使用JBoss Web v2.x (集成tomcat6) ,对大部分Java EE 5“新的”API来说,比如EJB3、JAX-WS、JPA等,在JBoss AS 4.2系列中已经实现了。
这里我们选用JBOSS4.2.3版本作为我们的web应用服务器。
JBoss4.2.3使用JDK1.5,JDK1.5的安装配置略。
二、 Jboss配置(步骤):
1. 配置数据源:在 jboss路径\docs\examples\jca目录下有各种数据库配置文件的样本。选择一个你合适的,copy到 server\default\deploy 下。配置文件可"随意"命名为&& XXXX-ds.xml,该命名的后辍请"确保"为"-ds.xml",如:v10-oracle-ds.xml。配置如下:
&?xml version="1.0" encoding="UTF-8"?&
&datasources&
&local-tx-datasource&
&jndi-name&jdbc/btdb1&/jndi-name&
&connection-url&jdbc:oracle:thin:@192.168.0.36:1522:ORCL11GR2&/connection-url&
&driver-class&oracle.jdbc.driver.OracleDriver&/driver-class&
&user-name&BTV10_GS&/user-name&
&password&BTV10_GS&/password&
&!--使用Java上下文,设置为flase --&
&use-java-context&false&/use-java-context&
&!--最小连接池数目 --&
&min-pool-size&5&/min-pool-size&
&!--最大连接池数目 --&
&max-pool-size&800&/max-pool-size&
&!--数据库连接空闲时间,单位为分钟,如果负载较大,可以设为5,如果一般,可以设为3--&
&idle-timeout-minutes&5&/idle-timeout-minutes&
&exception-sorter-class-name&org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter&/exception-sorter-class-name&
&& &metadata&
&& &type-mapping&Oracle9i&/type-mapping&
&& &/metadata&
&& &/local-tx-datasource&
& &local-tx-datasource&
&jndi-name&jdbc/btdb2&/jndi-name&
&connection-url&jdbc:oracle:thin:@192.168.0.36:1522:ORCL11GR2&/connection-url&
&driver-class&oracle.jdbc.driver.OracleDriver&/driver-class&
&user-name&BTV10_GS&/user-name&
&password&BTV10_GS&/password&
&!--使用Java上下文,设置为flase --&
&use-java-context&false&/use-java-context&
&!--最小连接池数目 --&
&min-pool-size&5&/min-pool-size&
&!--最大连接池数目 --&
&max-pool-size&800&/max-pool-size&
&!--数据库连接空闲时间,单位为分钟,如果负载较大,可以设为5,如果一般,可以设为3--&
&idle-timeout-minutes&5&/idle-timeout-minutes&
&exception-sorter-class-name&org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter&/exception-sorter-class-name&
&metadata&
&type-mapping&Oracle9i&/type-mapping&
&/metadata&
&& &/local-tx-datasource&
&/datasources&
2. 将web应用解压至“JBOSS安装目录\server\default\deploy”目录下,文件夹改名为xxx.war(如server\default\deploy\btweb.war),或者直接将war包拷贝到该目录。
3. 修改“JBOSS安装目录
\server\default\deploy\jboss-web.deployer\META-INF”
下的jboss-service.xml文件,改属性“UseJBossWebLoader”为true。
4. 调整jboss的日志级别,Jboss安装目录
\server\default\conf\jboss-log4j.xml,最后节点属性&root&开头插入属性:&level value="INFO" /&。
5. 修改run.bat的JVM参数(2G内存例),编辑Jboss安装目录\bin\run.bat文件,查找属性:
rem JVM memory allocation pool parameters. Modify as appropriate.
set JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx512m
set JAVA_OPTS修改为:
set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m
据机器设备情况调整参数大小。
-Xms:初始化内存大小
-Xmx:可以使用最大内存,建议设置在内存最大值的50%至80%
-XX:PermSize:永久域初始值
-XX:MaxNewSize:新生成的池初始值最大值
-XX:MaxPermSize:永久域初始值最大值
具体参数请参考相关文档。
三、 web应用修改:
1. 修改\WEB-INF\web.xml文件,改属性“webConFlag”为1;注释掉属性“resource-ref”(涉及jndi)。存在则修改
2. 修改\WEB-INF\reportConfig.xml文件,改属性“JNDIPrefix”下面的value属性值为空,如:去掉java前缀环境值&value&java:comp/env&/value&改为:&value&&/value&。存在则修改
3. 修改\WEB-INF\classes\spring\datasource.xml文件,改所有属性为“jndiName”的value值分别为:jdbc/btdb1。
如: &value&jdbc/btdb1&/value&
4. 删除web应用目录\WEB-INF\lib目录下的jar包:javax.servlet.jar、servlet-api.jar。
5. 若\WEB-INF\lib目录下存在bytterframework.jar(可能为bytterframeworkXX.jar,X表示任意字符)或byttermonitor.jar(可能为byttermonitorXX.jar),若不是最新的(日期应该为日之后,包含当日),请咨询测试组、赵方利、张均锋。
6. 若\WEB-INF\lib目录下不存在ojdbc14.jar,请咨询测试组、赵方利、张均锋等获取ojdbc14.jar,把ojdbc14.jar拷贝到“JBOSS安装目录\server\default\lib”目录下
注:1、上述数据源JNDI名称值依赖jboss的数据源配置的JNDI名称。
四、 Jboss配置其它(可选):
1. 1、WEB服务器端口号的修改。Jboss默认端口是8080,修改JBoss安装目录server/default/deploy/jboss-web.deployer下的server.xml文件,内容如下:
&Connector port="8080" address="${jboss.bind.address}"&&&
&&&&&&&& maxThreads="250" maxHttpHeaderSize="8192"
&&&&&&&& emptySessionPath="true" protocol="HTTP/1.1"
&&&&&&&& enableLookups="false" redirectPort="8443" acceptCount="100"
&&&&&&&& connectionTimeout="20000" disableUploadTimeout="true" /&
将上面的8080端口修改为你想要的端口即可。重新启动JBoss后访问即可。
Jboss通常占用的端口是,,,这几个。
五、 Eclipse调试JBOSS(开发):
& 两种方式:
1、 在JBOSS安装目录\server\default\deploy目录下建立web应用目录,以.war(如:v10web.war)为web应用后缀。在eclipse工程建立ant文件,在工程下发布程序文件至v10web.war即可。
2、 在JBOSS安装目录外设置web应用目录,同样以.war为文件后缀,修改\server\default\conf\jboss-service.xml文件的属性“URLs”加上指定web目录,如:,file:///D:/testProjects/jbosswarDeploy/v10web1.war最后在eclipse工程建立ant文件,在工程下发布程序文件至web目录即可。
& 选择上面其中之一(不能同时采用两种方式)发布web程序后,在eclipse建立JBOSS服务器:
A、选择jboss版本(这里4.2),勾选Create a new local server,Next
B、选择JBOSS安装目录,完成。
C、配置参数,双击servers页签下已建立的JBOSS服务名称,弹出下图:
把启动、停止时间值调大一些:
点击“Open lauch configuration”jvm启动参数:
选择jboss服务器,点击启动,可以进行测试和调试。
六、 FAQ(常见问题):
Jboss启动时报数据源文件的utf-8错误,怎么解决?
详细异常:ERROR [org.jboss.deployment.MainDeployer] Could not initialise deployment: file:/E:/Jboss/server/default/deploy/btweb-ds.xml
org.jboss.deployment.DeploymentException: C - nested throwable: (org.xml.sax.SAXParseException: Invalid byte 2 of 2-byte UTF-8 sequence.)
at org.jboss.deployment.XSLSubDeployer.findDd(XSLSubDeployer.java:231)
at org.jboss.deployment.XSLSubDeployer.init(XSLSubDeployer.java:161)
at org.jboss.deployment.MainDeployer.init(MainDeployer.java:872)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:809)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:782)
原因是数据源文件编码问题。
解决:
这是编辑数据源文件保存文件格式不对,也可能是其它原因引起。
方法1、使用记事本编辑数据源文件,直接另存为,选择编码utf-8,然后删除原来文件,再把另存为的文件改回原来文件名即可:
方法2、使用其它文本编辑工具直接把文件编码格式转换成utf-8。
方法3、使用文本编辑工具新建数据源文件保存编码格式为utf-8。
Jboss启动时报BtActionServlet或BtFunDispatcher空指针错误,怎么解决?
详细异常:ERROR [org.apache.struts.action.ActionServlet] Unable to initialize Struts ActionServlet due to an unexpected exception or error thrown, so marking the servlet as unavailable.& Most likely, this is due to an incorrect or missing library dependency.
java.lang.NullPointerException
at com.byttersoft.framework.web.servelet.BtActionServlet.getFile(Unknown Source)
at com.byttersoft.framework.web.servelet.BtActionServlet.initModuleConfig(Unknown Source)
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:333)
at javax.servlet.GenericServlet.init(GenericServlet.java:212)
或异常:
ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/btweb]] StandardWrapper.Throwable
java.lang.NullPointerException
at com.byttersoft.framework.report.BtFunDispatcher.registerfunctions(Unknown Source)
at com.byttersoft.framework.web.servelet.BtReportEnvInit.init(Unknown Source)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1161)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:981)
原因程序框架包不是最新的。
解决:
请参考&第三节:web应用修改&的第5点。若还是出现这个错误,请检查是否存在该目录“\WEB-INF\classes\com\byttersoft\framework”,存在请删除(或直接咨询测试组、赵方利、张均锋)。
Jboss启动时报不能创建数据源、注册驱动失败错误,怎么解决?
详细异常:WARN& [org.jboss.resource.connectionmanager.JBossManagedConnectionPool] Throwable while attempting to get a new connection: null
org.jboss.resource.JBossResourceException: Could n - nested throwable: (org.jboss.resource.JBossResourceException: Failed to register driver for: oracle.jdbc.driver.OracleD - nested throwable: (java.lang.ClassNotFoundException: oracle.jdbc.driver.OracleDriver))
at org.jboss.resource.adapter.jdbc.local.LocalManagedConnectionFactory.createManagedConnection(LocalManagedConnectionFactory.java:190)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.createConnectionEventListener(InternalManagedConnectionPool.java:619)
at org.jboss.resource.connectionmanager.InternalManagedConnectionPool.getConnection(InternalManagedConnectionPool.java:264)
原因是未加入数据库驱动包。
解决:
请参考&第三节:web应用修改&的第6点。
如何查看Jboss日志?
Jboss安装目录\server\default\log\server.log,log目录下的文件可以直接删除,重新启动jboss时,jboss会自动生成log目录下的文件。
以下为选读内容
附:JBOSS4.2.2配置参考资料(可选看)
一.JBOSS入门
1.下载和安装JBoss
在下载和安装JBoss之前,请开发者确认一下自己的机器是否安装了最新版的JVM。为运行JBoss 4.2.2GA,开发者必须提供Java 5虚拟机。在我们动身之前,请再次检查一下您是否安装了合适的JDK,而且JAVA_HOME环境变量是否已经设置好。
用户可以从JBoss网站(http://www.jboss.org/jbossas/downloads/)免费下载到JBoss应用服务器。其中,可用的二进制版本格式分别有.zip、.tar.gz以及.bz2。JBoss二进制发布版的具体内容与版本格式无关,用户需要根据各自的平台选择相应的二进制版本。在您下载完成JBoss后,将它解压到合适的机器位置上。有一点请注意,包含解压目录的完整路径(比如,Windows操作系统中的Program Files目录)上不能够含有空格,因为这将导致错误的出现。
2.JBoss的目录结构
安装JBoss 会创建下列目录结构:
目录 描述
bin 启动和关闭JBoss 的脚本
client 客户端与JBoss 通信所需的Java 库(JARs)
docs 配置的样本文件(数据库配置等)
docs/dtd 在JBoss 中使用的各种XML 文件的DTD。
lib 一些JAR,JBoss 启动时加载,且被所有JBoss 配置共享。
server 各种JBoss 配置。每个配置必须放在不同的子目录。子目录的名字表示配置的名字。
JBoss 包含3 个默认的配置:minimial,default 和all,在你安装时可以进行选择。
server/all JBoss 的完全配置,启动所有服务,包括集群和IIOP。
server/default JBoss 的默认配置,它含有大部分J2EE应用所需的标准服务。但是,它不含有JAXR服务、IIOP服务、或者其他任何群集服务。
server/minimal 这是启动JBoss服务器所要求的最低配置。minimal配置将启动日志服务、JNDI服务器以及URL部署扫描器,以找到待部署的(新)应用。对于那些不需要使用任何其他J2EE技术,而只是使用自定义服务的场合而言,则这种JMX/JBoss 配置最适合。它仅仅是服务器,而不包含Web容器、不提供EJB和JMS支持。
server/default/conf 含有指定JBoss核心服务的jboss-service.xml文件。同时,还包括核心服务的其他配置文件。
server/default/data 这一目录存储持久化数据,即使服务器发生重启其中的数据也不会丢失。许多JBoss服务将数据存储在这里,比如Hypersonic数据库实例。
server/default/deploy 用户将应用代码(JAR\WAR\EAR文件)部署在此处。同时,deploy目录也用于热部署服务(即,那些能够从运行服务器动态添加或删除的服务)。因此,用户能够在deploy目录看到大量的配置文件。尤其是,用户能够看到JMX控制台应用(未打包的WAR文件),本书前面讨论过。JBoss服务器将定期扫描该目录,从而查找是否有组件更新或修改,从而自动完成组件的重新部署。
server/default/lib 服务器配置所需的JAR文件。用户可以添加自身的库文件,比如JDBC驱动,等等。
server/default/log 日志信息将存储到该目录。JBoss使用Jakarta Log4j包作为其日志功能。同时,用户可以在应用中直接使用Log4j日志记录功能。
server/default/tmp 供部署器临时存储未打包应用使用,也可以作为其他用途。
server/default/work 供编译JSP使用。
其中,data、log、tmp、work目录是JBoss创建的。如果用户没有启动过JBoss服务器,则这些目录不会被创建。
既然提到了JBoss中的热部署服务主题,接下来在探讨服务器配置问题前先来看看实际例子。如果还没有启动JBoss,则请运行它。然后,请再次查看deploy目录(用户必须保证运行了default配置),然后删除mail-service.xml文件。通过运行JBoss服务器的控制台能够浏览到如下信息:
13:10:05,235 INFO [MailService] Mail service 'java:/Mail' removed from JNDI
然后,再次将mail-service.xml文件放回原处,用户将通过控制台再次发现JBoss重新部署了该服务。所以,这就是JBoss的热部署。
3.启动服务器
首先,来看看如何运行JBoss服务器。用户可以在JBoss主安装目录的bin目录中找到若干个脚本文件。请执行run脚本(对于Windows,则运行run.bat;对于Linux、OS X、UNIX系统,则运行run.sh)。默认jboss运行default配置,如果要运行all配置请执行命令 run –c all。其中,部署和启动JBoss组件的具体日志信息能够在运行JBoss的控制台浏览到。如下消息表明,JBoss服务器成功运行:
11:18:46,828 INFO& [Server] JBoss (MX MicroKernel) [4.2.2.GA (build: SVNTag=JBoss_4_2_2_GA date=)] Started in 27s:94ms
用户可以通过Web浏览器验证JBoss应用服务器是否在运行,其HTTP监听端口为8080(其中,必须保证在启动JBoss时,8080端口并没有被其他应用或服务占用)。通过Web浏览器能够找到相关有用的JBoss资源(译者注:http://localhost:8080)。
4.JMX控制台
通过http://localhost:8080/jmx-console,即JMX控制台应用,用户能够浏览到服务器活动视图。图1.1给出了示例界面。 上述界面给出了JBoss管理控制台,它提供了构成JBoss服务器的JMX MBean原始视图。我们暂时可以不用理会控制台的任何内容,但是需要知道控制台能够提供运行中的JBoss应用服务器的大量信息。另外,通过它,用户能够修改、启动、停止JBoss组件。 比如,请找到service=JNDIView链接,然后单击。该特定MBean提供了如下服务内容,即能够浏览服务器中JNDI命名空间的结构信息。接下来,请在该MBean显示页面底端找到list操作,然后单击invoke按钮。invoke操作将返回绑定到JNDI树中的当前名字列表,这对于获得EJB名字很有帮助,比如当EJB应用客户端不能够解析EJB名字时。
图1-1 JMX管理控制台Web应用视图
5.停止服务器
为了能够停止JBoss服务器,用户可以敲入Ctrl-C,或者从bin目录运行shutdown脚本。甚至,用户还可以使用管理控制台(请在jboss.system部分找到type=Server,然后调用shutdown操作。)。
6.JBoss中的部署
JBoss 中的部署过程非常的简单、直接。在每一个配置中,JBoss 不断的扫描一个特殊目录的变化:
[jboss 安装目录]/server/config-name/deploy
此目录一般被称为“部署目录”。
你可以把下列文件拷贝到此目录下:
* 任何jar 库(其中的类将被自动添加到JBoss 的classpath 中)
* EJB JAR
*WAR (Web Appliction aRrchive)
* EAR (Enterprise Application aRchive)
* 包含JBoss MBean 定义的XML 文件
* 一个包含EJB JAR、WAR 或者EAR 的解压缩内容,并以.jar、.war 或者.ear 结尾的目录。
要重新部署任何上述文件(JAR、WAR、EAR、XML 等),用新版本的文件覆盖以前的就可以了。JBoss 会根据比较文件的时间发现改变,然后部署新的文件。要重新部署一个目录,更新他的修改时间即可。
二.JBOSS的配置
1. JBoss日志设置
Log4j是JBoss使用的日志功能包。通过conf/jboss-log4j.xml文件能够控制JBoss的日志功能。该文件定义了一套Appender、指定了日志文件、具体消息Category类型的存储、消息格式以及消息的过滤级别。默认时,JBoss会同时在控制台和日志文件(位于log/server.log文件中)中生成输出信息。 一共存在5个基本的日志级别:DEBUG、INFO、WARN、ERROR以及FATAL。其中,控制台的日志入口(threshold)为INFO,即用户通过控制台能够浏览到提示信息、警告信息、错误信息,但是调试信息查看不到。相比之下,JBoss并没有为server.log文件设置任何入口,因此所有生成的消息将记录到server.log文件中。如果JBoss运行过程中出现了错误,则通过控制台可能找不到用户有用的信息,因此建议通过server.log文件查看是否有调试信息可供解决问题所用。然而,请注意,通过调整日志入口能够在控制台查看到调试信息,但是这并没有保证所有的JBoss消息都将记录到server.log文件中。因此,用户还需要为单个的Category设置不同的日志级别。比如,jboss-log4j.xml给出了如下Category。
&!-- Limit the org.apache category to INFO as its DEBUG is verbose --&
&& &category name="org.apache"&
&&&&& &priority value="INFO"/&
&& &/category&
2. web 服务的端口号的修改
这点在前文中有所提及,即修改JBoss安装目录server/default/deploy/jboss-web.deployer下的server.xml文件,内容如下:
&Connector port="8080" address="${jboss.bind.address}"&&&
&&&&&&&& maxThreads="250" maxHttpHeaderSize="8192"
&&&&&&&& emptySessionPath="true" protocol="HTTP/1.1"
&&&&&&&& enableLookups="false" redirectPort="8443" acceptCount="100"
&&&&&&&& connectionTimeout="20000" disableUploadTimeout="true" /&
将上面的8080端口修改为你想要的端口即可。重新启动JBoss后访问:http://localhost/:新设置的端口,可看到JBoss的欢迎界面。
3. JBoss 的安全设置
3.1 jmx-console 登录的用户名和密码设置
默认情况访问 http://localhost:8080/jmx-console 就可以浏览jboss的部署管理的一些信息,不需要输入用户名和密码,使用起来有点安全隐患。下面我们针对此问题对jboss进行配置,使得访问jmx-console也必须要知道用户名和密码才可进去访问。步骤如下:
3.1.1 修改jboss-web.xml文件
打开/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉&security-domain&java:/jaas/jmx-console&/security-domain&的注释。修改后的该文件内容为:
&jboss-web&
&& &!-- Uncomment the security-domain to enable security. You will
&&&&& need to edit the htmladaptor login configuration to setup the
&&&&& login modules used to authentication users.--&
&&&&& &security-domain&java:/jaas/jmx-console&/security-domain&
&/jboss-web&
3.1.2 修改web.xml文件
与3.1.1中的jboss-web.xml同级目录下的web.xml文件,查找到&security-constraint/&节点,去掉它的注释,修改后该部分内容为:
&!-- A security constraint that restricts access to the HTML JMX console
&& to users with the role JBossAdmin. Edit the roles to what you want and
&& uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
&& secured access to the HTML JMX console.--&
&& &security-constraint&
&&&& &web-resource-collection&
&&&&&& &web-resource-name&HtmlAdaptor&/web-resource-name&
&&&&&& &description&An example security config that only allows users with the
&&&&&&&& role JBossAdmin to access the HTML JMX console web application
&&&&&& &/description&
&&&&&& &url-pattern&/*&/url-pattern&
&&&&&& &http-method&GET&/http-method&
&&&&&& &http-method&POST&/http-method&
&&&& &/web-resource-collection&
&&&& &auth-constraint&
&&&&&& &role-name&JBossAdmin&/role-name&
&&&& &/auth-constraint&
&& &/security-constraint&
&& 在此处可以看出,为登录配置了角色JBossAdmin。
3.1.3 修改login-config.xml文件
在第一步中的jmx-console安全域和第二步中的运行角色JBossAdmin都是在login-config.xml中配置,我们在JBoss安装目录/server/default/config下找到它。查找名字为:jmx-console的application-policy:
&application-policy name = "jmx-console"&
&&&&&& &authentication&
&&&&&&&&& &login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
&&&&&&&&&&&& flag = "required"&
&&&&&&&&&& &module-option name="usersProperties"&props/jmx-console-users.properties&/module-option&
&&&&&&&&&& &module-option name="rolesProperties"&props/jmx-console-roles.properties&/module-option&
&&&&&&&&& &/login-module&
&&&&&& &/authentication&
&&& &/application-policy&
在此处可以看出,登录的角色、用户等的信息分别在props目录下的jmx-console-roles.properties和jmx-console-users.properties文件中设置,分别打开这两个文件。
其中jmx-console-users.properties文件的内容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
该文件定义的格式为:用户名=密码,在该文件中,默认定义了一个用户名为admin,密码也为admin的用户,读者可将其改成所需的用户名和密码。
jmx-console-roles.properties的内容如下:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin, HttpInvoker
该文件定义的格式为:用户名=角色,多个角色以“,”隔开,该文件默认为admin用户定义了JBossAdmin和HttpInvoker这两个角色。
配置完成后读者可以通过访问: http://localhost:8088/jmx-console/ ,输入jmx-console-roles.properties文件中定义的用户名和密码,访问jmx-console的页面。如图:
3.2 web-console 登录的用户名和密码设置
默认情况下,用户访问JBoss的web-console时,不需要输入用户名和密码,为了安全起见,我们通过修改配置来为其加上用户名和密码。步骤如下:
3.2.1修改jboss-web.xml文件
打开server/default/deploy/management/console-mgr.sar /web-console.war/WEB-INF/jboss-web.xml文件,去掉&security-domain&java:/jaas/web-console&/security-domain&的注释,修改后的文件内容为:
&?xml version='1.0' encoding='UTF-8' ?&
&!DOCTYPE jboss-web
&&& PUBLIC "-//JBoss//DTD Web Application 2.3V2//EN"
&&& "http://www.jboss.org/j2ee/dtd/jboss-web_3_2.dtd"&
&jboss-web&
&& &!-- Uncomment the security-domain to enable security. You will
&& need to edit the htmladaptor login configuration to setup the
&& login modules used to authentication users.--&
&& &security-domain&java:/jaas/web-console&/security-domain&
&& &!-- The war depends on the --&
&& &depends&jboss.admin:service=PluginManager&/depends&
&/jboss-web&
3.2.2 修改web.xml文件
打开3.2.1中jboss-web.xml同目录下的web.xml文件,去掉&security-constraint&部分的注释,修改后的该部分内容为:
&!-- A security constraint that restricts access to the HTML JMX console
&& to users with the role JBossAdmin. Edit the roles to what you want and
&& uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
&& secured access to the HTML JMX console.--&
&& &security-constraint&
&& &web-resource-collection&
&& &web-resource-name&HtmlAdaptor&/web-resource-name&
&& &description&An example security config that only allows users with the
&& role JBossAdmin to access the HTML JMX console web application
&& &/description&
&& &url-pattern&/*&/url-pattern&
&& &http-method&GET&/http-method&
&& &http-method&POST&/http-method&
&& &/web-resource-collection&
&& &auth-constraint&
&& &role-name&JBossAdmin&/role-name&
&& &/auth-constraint&
&& &/security-constraint&
3.2.3 修改login-config.xml文件
打开JBoss安装目录server/default/conf下的login-config.xml文件,搜索web-console,可找到如下内容:
&application-policy name = "web-console"&
&&&&&& &authentication&
&&&&&&&&& &login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
&&&&&&&&&&&& flag = "required"&
&&&&&&&&&&&& &module-option name="usersProperties"&web-console-users.properties&/module-option&
&&&&&&&&&&&& &module-option name="rolesProperties"&web-console-roles.properties&/module-option&
&&&&&&&&& &/login-module&
&&&&&& &/authentication&
&&& &/application-policy&
在文件中可以看到,设置登录web-console的用户名和角色等信息分别在login-config.xml文件所在目录下的web-console-users.properties和web-console-roles.properties文件中,但因为该目录下无这两个文件,我们在JBoss安装目录server/default/conf/props三目录下建立这两个文件,文件内容可参考在“jmx-console登录的用户名和密码设置”中的两个相应的配置文件的内容,web-console-users.properties文件的内容如下:
# A sample users.properties file for use with the UsersRolesLoginModule
admin=admin
web-console-roles.properties文件的内容如下:
# A sample roles.properties file for use with the UsersRolesLoginModule
admin=JBossAdmin,HttpInvoker
因为此时这两个文件不与login-config.xml同目录,所以login-config.xml文件需进行少许修改,修改后的&application-policy name = "web-console"&元素的内容为:
&application-policy name = "web-console"&
&&&&&& &authentication&
&&&&&&&&& &login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
&&&&&&&&&&&& flag = "required"&
&&&&&&&&&&&& &module-option name="usersProperties"&props/web-console-users.properties&/module-option&
&&&&&&&&&&&& &module-option name="rolesProperties"&props/web-console-roles.properties&/module-option&
&&&&&&&&& &/login-module&
&&&&&& &/authentication&
&&& &/application-policy&
4. JBoss 数据源的配置
在 jboss路径\docs\examples\jca目录下有各种数据库配置文件的样本。选择一个你合适的,copy到 server\all\deploy 或 server\default\deploy 下, 我们以msserver数据库为列 ,然后修改其中的如下内容 :
&?xml version="1.0" encoding="UTF-8"?&
&datasources&
& &local-tx-datasource&
&&& &jndi-name&DEV_MSSQLDS&/jndi-name&
&&& &connection-url&jdbc:sqlserver://192.168.14.201:1455;DatabaseName=Beta_Core_Psmsg_Beta6&/connection-url&
&&& &driver-class&com.microsoft.sqlserver.jdbc.SQLServerDriver&/driver-class&
&&& &user-name&ppcn_beta6&/user-name&
&&& &password&ppcn_beta6&/password&
&&& &!--最小连接池数目 --&
&min-pool-size&5&/min-pool-size&
&!--最大连接池数目 --&
&&& &max-pool-size&800&/max-pool-size&
&&& &!--数据库连接空闲时间,单位为分钟,如果负载较大,可以设为5,如果一般,可以设为3--&
&&& &idle-timeout-minutes&5&/idle-timeout-minutes&
&&&&& &!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml --&
&&&&& &metadata&
&&&&&&&& &type-mapping&MS SQLSERVER2000&/type-mapping&
&&&&& &/metadata&
& &/local-tx-datasource&
&/datasources&
&&& 如果后台没有报异常,通过http://localhost:8080/jmx-console进入jmx控制台,在jdbc栏目可以看到以下内容:
代码示例:
javax.naming.InitialContext& ctx = new InitialContext();
javax.sql.DataSource ds& =& (DataSource)ctx.lookup(“java:/DEV_MSSQLDS”);
另外请注意:该配置文件可"随意"命名为&& XXXX-ds.xml,该命名的后辍请"确保"为"-ds.xml"。
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
& xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&
& &modelVersion&4.0.0&/modelVersion&
& &groupId&com.mycompany.app&/groupId&
& &artifactId&my-webapp&/artifactId&
& &packaging&war&/packaging&
& &version&1.0-SNAPSHOT&/version&
& &name&my-webapp Maven Webapp&/name&
& &url&http://maven.apache.org&/url&
& &dependencies&
&&& &dependency&
&&&&& &groupId&junit&/groupId&
&&&&& &artifactId&junit&/artifactId&
&&&&& &version&3.8.1&/version&
&&&&& &scope&test&/scope&
&&& &/dependency&
&/dependencies&
&build&
&&&& &finalName&my-webapp&/finalName&
&plugin&
&&&&& &groupId&org.apache.maven.plugins&/groupId&
&&&&& &artifactId&maven-war-plugin&/artifactId&
&&&&& &configuration&
&&&&&&& &archive&
&&&&&&&&& &addMavenDescriptor&false&/addMavenDescriptor&
&&&&&&& &/archive&
&&&&& &/configuration&
&&& &/plugin&
&&&&& &plugin&
&&&&&&& &groupId&org.codehaus.mojo&/groupId&
&&&&&&& &artifactId&jboss-maven-plugin&/artifactId&
&&&&&&& &version&1.5.0&/version&
&&&&&&& &configuration&
&&&&&&&&& &jbossHome&C:\Program Files\server\jboss-4.2.2.GA&/jbossHome&
&&&&&&&&& &serverName&all&/serverName&
& &fileName&target/my-webapp.war&/fileName&
&&&&&&& &/configuration&
&&&&& &/plugin&
&&& &/plugins&
&&& &/build&
&/project&
////////////////////////////////////
&project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
& xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"&
& &modelVersion&4.0.0&/modelVersion&
& &groupId&com.mycompany.app&/groupId&
& &artifactId&my-webapp&/artifactId&
& &packaging&war&/packaging&
& &version&1.0-SNAPSHOT&/version&
& &name&my-webapp Maven Webapp&/name&
& &url&http://maven.apache.org&/url&
& &dependencies&
&&& &dependency&
&&&&& &groupId&junit&/groupId&
&&&&& &artifactId&junit&/artifactId&
&&&&& &version&3.8.1&/version&
&&&&& &scope&test&/scope&
&&& &/dependency&
&/dependencies&
&build&
&&&& &finalName&my-webapp&/finalName&
& &plugins&
&&&&& &plugin&
&&&&& &groupId&org.apache.maven.plugins&/groupId&
&&&&& &artifactId&maven-war-plugin&/artifactId&
&&&&& &configuration&
&&&&&&& &archive&
&&&&&&&&& &addMavenDescriptor&false&/addMavenDescriptor&
&&&&&&& &/archive&
&&&&& &/configuration&
&&& &/plugin&
&&&&&& &plugin&
&&&&&&& &groupId&org.codehaus.mojo&/groupId&
&&&&&&& &artifactId&jboss-maven-plugin&/artifactId&
&&&&&&& &version&1.5.0&/version&
&&&&&&& &configuration&
&&&&&&&&& &jbossHome&C:\Program Files\server\jboss-4.2.2.GA&/jbossHome&
&&&&&&&&& &serverName&all&/serverName&
&&& &fileName&target/my-webapp.war&/fileName&
&&&&&&& &/configuration&
&&&&& &/plugin&
&&& &/plugins&
&&& &/build&
&/project&
浏览: 330657 次
来自: 杭州
table中无数据
为什么都是只有问没有答,哭晕在厕所
不完整,缺com.tcs.org.demostic.pub.u ...
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'}

我要回帖

更多关于 渐进式框架是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信