kontextus.xml-Metawerx Java Wiki
kontextus.xml
a kontextus.az xml fájl egy opcionális fájl, amely egy <Context> címkét (Kontextusrészletet) tartalmaz egyetlen Tomcat webalkalmazáshoz. Ez felhasználható az alkalmazás, a JNDI erőforrások és egyéb beállítások bizonyos viselkedésének meghatározására.
a kontextus.az xml fájlt a Tomcat 5-ben vezették be, hogy eltávolítsák a kontextus beállításait a szerverről.xml fájl.
a Kontextusrészlet beágyazható a kiszolgálóba.xml, a <CATALINA>/conf mappába helyezve, vagy az egyes alkalmazások belsejében a META-INF mappában egy kontextus nevű fájlban.xml. A META-INF módszer előnyös, mivel ez azt jelenti, hogy a kontextus változásai nem igénylik a Tomcat újraindítását. Újraindíthatja az alkalmazást a web módosításával.xml, ha az automatikus újratöltés aktív, vagy manuálisan újratöltés a Tomcat Manager segítségével.
az Ön kontextusa.az xml fájlt az alkalmazás META-INF mappájába kell telepíteni, mint META-INF/context.xml. A META-INF mappa ugyanazon a szinten tartozik, mint a WEB-INF (nem benne).
index.jsp/WEB-INF web.xml /lib myjar.jar /classes myclass.class/META-INF context.xml
meglepő módon még nem sok fejlesztő használja ezt a fájlt az alkalmazásaiban, bár nagyon hasznos. Váltás a kontextus használatára.az xml fájl eltávolítja az összes függőséget a kiszolgálóról.xml, így az alkalmazás sokkal hordozhatóbb és könnyebben telepíthető.
példa kontextus.xml fájl
ez a fájl egy MySQL adatforrást és egy biztonsági tartományt képviselő JNDI erőforrást biztosít.
<?xml version="1.0" encoding="UTF-8"?><Context> <!-- Specify a JDBC datasource --> <Resource name="jdbc/mydatabase" auth="Container" type="javax.sql.DataSource" username="YOUR_USERNAME" password="YOUR_PASSWORD" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://mysql.metawerx.net:3306/YOUR_DATABASE_NAME?autoReconnect=true" validationQuery="select 1" maxActive="10" maxIdle="4"/> <!-- Specify the security realm and location of the users file <Realm className="org.apache.catalina.realm.MemoryRealm" pathname="/tomcat/webapps/ROOT/WEB-INF/users.xml" /> --></Context>
a fenti példában szereplő adatforrás elérése
a fenti példában szereplő adatforrás a java kódban érhető el a következő sorral:
// Get DataSourceContext ctx = new InitialContext();DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/mydatabase");// Get Connection and StatementConnection c = ds.getConnection();Statement s = c.createStatement();
további adatbázisok hozzáadhatók egy extra < erőforrás> elem hozzáadásával a kontextushoz.xml fájl, más névvel (pl.: jdbc/customerDatabase).
a fenti példában szereplő biztonsági tartomány elérése
a fenti példában szereplő biztonsági tartomány további telepítést igényel a web alkalmazásban.xml. További részletekért olvassa el a webhely védelme a Tárolókezelt biztonsággal című cikket.
Megjegyzések
- néhány példa az elérési utat és a docBase attribútumokat mutatja a < kontextus> címkében. Ezekre akkor van szükség, ha a kontextuscímke a kiszolgálón van.xml, de kontextusban.xml ezek opcionálisak, és gyakran csak telepítési problémákat okoznak (pl. ha az alkalmazást más névvel telepítik). Könnyebb (és jobb) kihagyni őket, így a kontextus neve automatikus. Ebben az esetben csak használja <kontextus> attribútumok nélkül, mint a fenti példában.
- az összes kontextus alapértelmezett beállításai a kontextusban vannak meghatározva.xml.alapértelmezett fájl a <CATALINA> / conf mappában
Gotchas / hibaelhárítás / hibakeresés JNDI DataSource problémák
- a JNDI problémákat nehéz hibakeresni, mivel nincs hibakeresési kimenet, ezért ha problémái vannak, ellenőrizze ezt a listát
- JNDI adatforrással, győződjön meg róla, hogy a JDBC illesztőprogramot a <CATALINA/common/lib fájlba helyezi, különben nem töltődik be
- ha EGY a JNDI adatforrás nem működik, ellenőrizze, hogy a kapcsolat részletei helyesek-e más módon történő csatlakoztatással (pl: a
- deployXML-t hamis (alapértelmezett) értékre kell állítani a kiszolgáló <Host> bejegyzésében.xml vagy a kontextus.az xml fájl figyelmen kívül marad
- Tomcat 5.5 és Tomcat 6 másolja a kontextust.xml fájl <CATALINA> /conf/Standalone az első sikeres telepítés után, és ne távolítsa el vagy frissítse a fájlt, kivéve, ha az alkalmazás nincs telepítve. Ha megváltoztatja a kontextust.ha az xml fájl még mindig nem működik, vagy a módosításokat figyelmen kívül hagyja, törölje a <CATALINA>/conf/Standalone mappában lévő fájlokat, hogy megbizonyosodjon arról, hogy helyesen vannak-e áthelyezve. A Tomcat 7 nem rendelkezik ezzel a problémával, kivéve, ha a copyXML értéke false (az alapértelmezett érték true. A Metawerx-en tárolt webhelyeknek nincs ilyen problémája egyetlen verzióval sem az egyéni beállításunk miatt.
Lásd még:
- web.xml referencia útmutató
- Tomcat 6 kontextus.xml dokumentáció
- <env-bejegyzés> címke a weben.xml, amely akkor használható, ha csak egyszerű szöveges értékeket ad meg
- JNDI DBCP példa a MySQL 4-hez.x
- JNDI DBCP példa a MySQL 5-re.x
- JNDI Dbcp példa SQL Server 7-re és 2000-re
- JNDI DBCP példa SQL Server 2005-re
- JNDI DBCP példa PostGreSQL-re
- JNDI Dbcp példa FireBird-re
- JNDI DBCP példa Oracle-re
- JNDI adatforrás elérése JSTL-lel JSP-ből
- JNDI adatforrás elérése Java-ból
- webhelyének védelme konténerkezelt biztonsággal
Leave a Reply