JBOSS
配置
1.
下載,在解壓縮
2.
在“環境變量”的地方,新增一個變量名為“
JBOSS_HOME”
,值為
解壓縮的路徑
和
tomcat
設置一樣
3.
數據源配置
首先在
JBOSS_HOME\docs\examples\jca
目錄下找到相對應的配置文件如:
MySQL-
à
mysql-ds.xml,oracle-
à
oracle-ds.xml;access-
à
msaccess-ds.xml
我們介紹
ACCESS
的數據庫配置
<?xml version="1.0" encoding="UTF-8"?>
<datasources>
<local-tx-datasource>
<jndi-name>MSAccessDS</jndi-name>
<!-- format of URL is "jdbc:odbc:DSNNAME" -->
<connection-url>jdbc:odbc:ejb</connection-url>
<driver-class>sun.jdbc.odbc.JdbcOdbcDriver</driver-class>
<user-name>Admin</user-name>
<password>123</password>
</local-tx-datasource>
</datasources>
修改好後另存為
jboss-home\server\default\deploy
目錄下
就可以了
4.
安全配置
配置文件位於
…jboss install directory /server/ default/ conf / login-config.xml
在
<policy></ policy>
之中加入
application-policy
<application-policy Name=”dblogin”>
<authentication>
<login-nodule code=”org.jobss.security.auth.spi.DatabaseServerLogin Module” flag=”Required”>
<module –option Name=”dsJndiName”>jave=/MSSQLXADS
</module –option>
<module –option Name=”principalsQuery”>select
password form users where user_id=?
</module –option>
<module –option Name=”RolesQuery”>select Role,
Role-group from Roles where user_id=?
</ login-module>
<authentication>
</ application-policy>
1.
在
jobss web
應用中使
3
中配置的安全域
dbLogin
在
web
應用中的
jobss-web.xml
的
<jobss-web>
與
</ jobss-web>
之間加入如下標志
<
security-domain
>
java:/jaas/dblogin</secureity-domain>
2.
定義
signon
頁面與
error
頁面,
signon
頁面中的以下三個元素是受限制的。
<form name=”form1” method=”post” action=”j_security_check”>
<input name=”j_username” type=”text” size=”30”>
<input name=”j_password” type=”password” size=”30”>
3.
在
web
應用中的
web.xml
中定義如下與驗證方式
<
login-lonfig
>
<auth –method>Form</auth-method>
<form-login-page>/signon.jsp</form-login-page>
<form-error-page>/error.jsp</form-login-page>
</login-lonfig>
4.
在
web
中應用的
web.xml
中定義如下角色,注意要與數據庫中角色相對應用。
<
security-Role
>
<Role-Name>preferred</Role –Name>
</secureity-Role>
<secureity-Role>
<Role-Name>standard</Role-Name>
</secureity-Role>
5.
在
web.xml
中定義安全約束
<stcurity-constraint>
<display-Name>scl</display-Name>
< web-resource-collection>
<web-resource-name>wrc1</ web-resource-name>
<url-pattern>/private1.jsp></url-pattern>
<http-method>get</http-method>
<http-method>post</http-method>
< web-resource-collection>
<auth-constraint>
<role-name>standard</role-name>
<role-name>sprefferred</role-name>
</auth-constraint>
<security-constraint>
jboss java mail:
file:// D:\jboss\server\default\deploy\mail-serviece.xml
<mbean code="org.jboss.mail.MailService"
</server>
MimeMessage = mimeMessage = new MimeMessage(session)
6.
建立消息隊列
1.
部署一個點對點的隊列
在
D:\jboss\server\default\deploy
中,編寫名稱以
-service.xml
結尾的文件,可以實現新的消息隊列的建立。
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Queue"
name="jboss.mq.destination:service=Queue,name=queueexample1">
<depends optional-attribute-name="DestinationManager">
jboss.mq:service=DestinationManager
</depends>
</mbean>
</server>
1.
部署一個主題隊列
<?xml version="1.0" encoding="UTF-8"?>
<server>
<mbean code="org.jboss.mq.server.jmx.Topic"
name="jboss.mq.destination:service=Topic,name=topicexample1">
<depends optional-attribute-name="DestinationManager">
jboss.mq:service=DestinationManager
</depends>
</mbean>
apache aixs
安裝
下載
axis-1_1.zip
,將解壓得到的
axis-1_1\webapps\axis
目錄整體復制到
tomcat
目錄下。啟動
tomcat
,就可以打開瀏覽器訪問
http://localhost:8080/axis了
如果能正常顯示,表明安裝成功
1.
tomcat
配置
為了能編譯
servlet
文件,要把
D:\Tomcat 5.0\common\lib
目錄下的
servlet.jar
加到
classpath
中
.
Tomcat
有兩個重要的配置文件
web.xml,server.xml
如果在遮兩個文件沒有任何配置,我們的
jsp
文件要放在
D:\Tomcat 5.0\webapps\ROOT
下,才能運行,如我們有一個
time.jsp
文件,放在了
D:\Tomcat 5.0\webapps\ROOT
目錄下,我們
可以在瀏覽器訪問
,servlet
文件放在
tomcat_home\webapps\ROOT\web-inf\classes
目錄下
web.xml
文件
中可包含如下配置信息
servlet
的定義
servlet
的映射
安全配置
welcome
文件清單
資源引用
環境變量的定義
web.xml
文件清單
<web-app>
<display-name>
<description>
<filter>
<filter-mapping>
<servlet>
<servlet-mapping>
<session-config>
<welcome-file-list>
<taglib>
<resource-ref>
<security-constraint>
<login-config>
<security-role>
元素定義的先後順序不能顛倒
,
否則不能運行服務器
file of web.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>longweb</display-name>
<filter>
<filter-name>SampleFilter</filter-name>
<filter-class>mypack.SampleFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SampleFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<servlet-class>org.apache.jsp.index_jsp</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>org.apache.jsp.index_jsp</servlet-name>
<url-pattern>/index.jsp</url-pattern>
</servlet-mapping>
如果僅給出
web
應用的
root
,會自動調用這裡聲明的文件
|
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
如在整個
web
出現
http 404 not found
將會調用這個文件運行
|
</welcome-file-list>
<error-page>
<error-code>404</error-code>
<location>/notfound.jsp</location>
設置
web
所引用的
tag Library
標識符
|
</error-page>
<taglib>
<taglib-uri>/mytaglib</taglib-uri>
<taglib-location>/WEB-INF/mytaglib.tld</taglib-location>
</taglib>
<!- -
資源的配置
- ->
<resource-ref>
<description>DB Connectin</dscription>
<res-ref-name>sampleDB</res-ref-name><!- -JNDI name - - >
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
//
安全的配置
<security-constraint>
<web-resource-collection>
<web-resource-name>Shopping</web-resource-name>
<url-pattern>/welcome.jsp</url-pattern>
<url-pattern>jsp1.jsp</url-pattern>
<url-pattern>*.do </url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>standard</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login.jsp</form-error-page>
</form-login-config>
</login-config>
<security-role>
<description>Standard Customer</description>
<role-name>standard</role-name>
</security-role>
</web-app>
server.xml
文件
<?xml version="1.0" encoding="UTF-8"?>
<!--This comment marks this file as generated, so it may be deleted and regenerated at any time. To preserve manual changes to this file, delete this comment.-->
<Server debug="0" port="8084" shutdown="SHUTDOWN">
<Service name="Tomcat-Standalone">
<Connector
port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
debug="0" connectionTimeout="20000"
disableUploadTimeout="true" />
<Engine debug="0" defaultHost="localhost" name="Standalone">
<Host appBase="C:\webservice\EmployeeClient\Tomcat\webapps" debug="0" name="localhost" unpackWARs="true">
//
如果不自己設置一個
,哪全部
JSP
文件都要放在
D:\Tomcat 5.0\webapps\ROOT
//
如果自己設置一個目錄,則要在這裡設置虛主機
<Context path="/javaconfig" docBase="C:\javaconfig" debug="0" reloadable="true">
Web
應用的文件路徑
True:
表示服務器運行狀態下會監視在
web-inf/classes
目錄下
class
改動
|
<Resource name="sampleDB" auth="Container" type="javax.sql.DataSource" description="User database that can be updated and saved">
</Resource>
<ResourceParams name="sampleDB">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>username</name>
<value>Admin</value>
</parameter>
<parameter>
<name>password</name>
<value>123</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>sun.jdbc.odbc.JdbcOdbcDriver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:odbc:ejb</value>
</parameter>
</ResourceParams>
</Host>
</Engine>
</Service>
</Server>
tomcat security
1.
memoryRealm
在初始化階段,從
xml
文件
(tomcat-users.xml)
中讀取安全驗證信息,並把它們以一組對象的形式存放在內存中
<Context path="/shop" docBase="C:\project\shoping\longweb" debug="0" reloadable="true">
<Realm className="org.apache.catalina.realm.MemoryRealm"/>
</Context>
tomcat-users.xml
文件
D:\Tomcat 5.0\conf
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="tomcat"/>
<user username="admin" password="admin" roles="standard"/>
</tomcat-users>
2.
JDBCRealm
通過
jdbc
驅動程序訪問存放在數據庫中的安全驗證信息
必須在數據中創建兩張表
users and user_roles
。
Users:
定義用戶的信息,包括用戶名和密碼,
user_roles
定義用戶和角色
<Context path="/shop" docBase="C:\project\shoping\longweb" debug="0" reloadable="true">
<Realm className="org.apache.catalina.realm.JDBCRealm" driverName=”com.mysql.jdbc.Driver” debug=”99” connectionURL=”jdbc:mysql://localhost/tomcateuser” connectionName=”dbuser” connectinoPassword=”1234” userTable=”users” userNameCol=”user_name” useCredCol=”user_pass” userRoleTable=”user_roles” roleNameCol=”role_name”/>
</Context>
3.
DataSourceRealm
DatasourceRealm
和
JDBCRealm
很相似,都是將安全信息存方法在關係數據庫中,創建的數據庫結構也相同,兩者不
侗在於訪問數據庫的方式不侗,
DataSourceRealm
通過
JNDI DataSource
來訪問數據庫,
用於配置
tomcat
服務范圍的
JNDI
資源
|
<!-- Global JNDI resources -->
<GlobalNamingResources>
<!-- Test entry for demonstration purposes -->
<Environment name="simpleValue" type="java.lang.Integer" value="30"/>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users -->
<Resource name="UserDatabase" auth="Container"
type="javax.sql.DataSource "
description="User database that can be updated and saved">
</Resource>
<ResourceParams name="UserDatabase">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicSourceFactory </value>
</parameter>
<parameter>
<name>driverClassName </name>
<value>com.mysql.jdbc.Driver </value>
</parameter>
<parameter>
<name>url </name>
<value>jdbc:mysql://localhost:3306/tomcateuser?autoReconnect=true </value>
</parameter>
</ResourceParams>
</GlobalNamingResources>
<Realm className="org.apache.catalina.realm.DataSourceRealm" debug=”99”
dataSourceName=”UserDatabase” userTable=”users” userNameCol=”user_name” userCredcol=”user_pass” userRoleTable=”user_roles” rolenameCol=”role_name”/>
4
<form name=”form1” method=”post” action=”j_security_check”>
<input name=”j_username” type=”text” size=”30”>
<input name=”j_password” type=”password” size=”30”>
Tomcat
客戶訪問日志
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t %r %s %b" resolveHosts="true"/>
%h:
表示遠程主機名
%t
表示時間日期
pattern
屬性的默認值為
common ,
它相當於
”%h %l %u %t %r %s %b”
此時會在
Tomcat_home\logs
目錄下生成一個
.txt
文件內容大體如下
:
2005-04-15 08:37:35 createObjectName with StandardEngine[Catalina].StandardHost[localhost].StandardContext[/admin]
2005-04-15 08:37:35 preRegister with Catalina:type=Logger,path=/admin,host=localhost
遠程地址過濾器
<Host name="localhost" debug="0" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Valve className=”org.apache.Catalina.valves.RemoteAddrVale” deny=”127.*,222.*”/>
以上代碼表明,所有
IP
地址以
127,222
開頭的客戶都被拒絕訪問