forbindelse.

kontekst.

konteksten.fil er en valgfri fil, der indeholder et< kontekst > tag (Kontekstfragment) til en enkelt Tomcat-applikation. Dette kan bruges til at definere visse adfærd for din applikation, JNDI-ressourcer og andre indstillinger.

konteksten.Tomcat 5, for at fjerne Kontekstindstillinger fra serveren.fil.

Kontekstfragmentet kan indlejres i serveren.i mappen < CATALINA > / conf eller placeret inde i hver applikation i META-INF-mappen i en fil kaldet kontekst.- LML. META-INF-metoden foretrækkes, da dette betyder, at ændringer i konteksten ikke kræver, at Tomcat genstartes. Du kan genstarte din ansøgning ved at ændre internettet.automatisk genindlæsning er aktiv eller genindlæses manuelt med Tomcat Manager.

din kontekst.META-INF-filen skal installeres i META-INF-mappen i din applikation som META-INF/kontekst.- LML. META-INF-mappen hører til på samme niveau som INF (ikke inde i den).

index.jsp/WEB-INF web.xml /lib myjar.jar /classes myclass.class/META-INF context.xml

overraskende nok bruger ikke mange udviklere denne fil inden for deres applikationer endnu, selvom den er meget nyttig. Skift til brug af en kontekst.filen fjerner alle afhængigheder fra serveren.gør applikationen meget mere bærbar og lettere at implementere.

eksempel kontekst.fil

denne fil indeholder en JNDI-ressource, der repræsenterer en Microsoft-datakilde, og et sikkerhedsområde.

<?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>

adgang til datakilden i ovenstående eksempel

datakilden i ovenstående eksempel kan fås i din java-kode med følgende linje:

// 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();

yderligere databaser kan tilføjes ved at tilføje et ekstra < ressource> element til konteksten.et andet navn (f.eks.: jdbc/customerDatabase).

adgang til sikkerhedsområdet i ovenstående eksempel

sikkerhedsområdet i ovenstående eksempel kræver yderligere opsætning på nettet.- LML. For flere detaljer, se artiklen sikring af din hjemmeside med Container Managed Security.

noter

  • nogle eksempler viser sti og docBase attributter i< kontekst > tag. Disse er nødvendige, hvis kontekstmærket er i serveren.men i kontekst.de er valgfri, og ofte bare forårsage installation problemer (f.eks: hvis programmet er indsat med et andet navn). Det er lettere (og bedre) at udelade dem, hvilket gør kontekstnavnet automatisk. I dette tilfælde skal du bare bruge <kontekst> uden attributter, som i ovenstående eksempel.
  • standardindstillinger for alle sammenhænge er defineret i konteksten.- LML.standardfil i mappen <CATALINA>/conf

Gotchas / fejlfinding / Debugging JNDI DataSource issues

  • JNDI-problemer er vanskelige at debugge, da der ikke er nogen debugoutput, så hvis du har problemer, skal du kontrollere denne liste
  • med en JNDI datasource skal du sørge for at inkludere JDBC-driveren i <CATALINA/common/lib, ellers indlæses den ikke
  • hvis en JNDI datasource er JNDI DataSource virker ikke, sikre forbindelsen detaljer er korrekte ved at forbinde en anden måde (f. eks: bruger de samme detaljer)
  • deployment skal være indstillet til falsk (standard) i< Host > posten i server.eller konteksten.
  • Tomcat 5.5 og Tomcat 6 kopierer konteksten.6986 > CATALINA > /conf / Standalone efter den første vellykkede implementering, og fjern eller opdater ikke filen, medmindre applikationen ikke er indsat. Hvis du ændrer din kontekst.Slet alle filer i mappen <CATALINA>/conf/Standalone for at sikre, at de omplaceres korrekt. Tomcat 7 har ikke dette problem, medmindre der er angivet falsk (standard er sandt. Har ikke dette problem med nogen version på grund af vores brugerdefinerede opsætning.

Se også

  • internet.referencevejledning
  • Tomcat 6 kontekst.dokumentation
  • <env-post> tag på nettet.kan bruges, hvis du kun angiver simple tekstværdier
  • JNDI DBCP eksempel for Myskl 4.
  • JNDI DBCP eksempel på 5.JNDI Dbcp eksempel for FireBird
  • JNDI Dbcp eksempel for FireBird
  • JNDI DBCP eksempel for Oracle
  • JNDI DBCP eksempel for FireBird
  • JNDI DBCP eksempel for FireBird
  • JNDI DBCP eksempel for Oracle
  • adgang til en JNDI-datakilde med JSTL fra JSP
  • adgang til en JNDI-datakilde fra Java
  • sikring af din side med containeradministreret sikkerhed

Leave a Reply