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