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
開頭的客戶都被拒絕訪問