J2SE

Sérialiser

JUnit

Servlet & JSP

Gestion de login centralisé

Encoding

Dans les .jsp

Pour l'affichage des caractère envoyé de Tomcat vers le navigateur

<?xml version="1.0" encoding="utf-8" ?>
<%@ page language="java" pageEncoding="utf-8" contentType="text/html;charset=utf-8" %>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...

Dans le server.xml de Tomcat

Cette partie est nécessaire pour l'encodage des données envoyées en méthode GET

<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" />

Dans le web.xml de Tomcat

Cette partie est nécessaire pour l'encodage des données envoyées en méthode POST

 <filter>
        <filter-name>ssi</filter-name>
        <filter-class>
          your.package.Filter
        </filter-class>
        <init-param>
          <param-name>contentType</param-name>
          <param-value>text/x-server-parsed-html(;.*)?</param-value>
        </init-param>
        <init-param>
          <param-name>debug</param-name>
          <param-value>0</param-value>
        </init-param>
        <init-param>
          <param-name>expires</param-name>
          <param-value>666</param-value>
        </init-param>
        <init-param>
          <param-name>isVirtualWebappRelative</param-name>
          <param-value>0</param-value>
        </init-param>
    </filter>
 
 
  <!-- ==================== Built In Filter Mappings ====================== -->
 
  <!-- The mapping for the SSI Filter -->
    <filter-mapping>
        <filter-name>ssi</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

Avec la classe your.package.Filter :

package your.package;
 
import java.io.IOException;
 
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
 
public class Filter implements javax.servlet.Filter{
	public void destroy() { }
 
	/** Preform the filtering. */
	public void doFilter(ServletRequest request, ServletResponse response,
	FilterChain chain) throws IOException, ServletException {
		request.setCharacterEncoding("UTF-8");
		chain.doFilter(request, response);
	}
 
	public void init(FilterConfig config) throws ServletException { }
}

Structures de données

Tableaux associatifs

Interface : Map

ClasseUtilité
LinkedHashMapTri dans l'ordre d'insertion

Se connecter à une base de donnée

Dans les classes

/* Chargement du driver oracle */
Class.forName("$driver");
 
/* Connexion a la base de donnees */
String url = "$url";
Connection connection = DriverManager.getConnection(url, utilisateur, mdp);

Avec Tomcat

Avec tomcat, on peut réaliser une file de connexion (connections pool). Faire un Connection.close() ne fermera pas réellement la connexion vers la base de données, mais rendra la connexion disponible pour une autre utilisation. Cette technique permet de réduire la charge du serveur.

Dans le fichier server.xml :

<Context docBase="??" path="/??" reloadable="true" source="??">
  <Resource name="dataSource" auth="Container" type="javax.sql.DataSource" maxActive="10" maxIdle="10" maxWait="10000" username="$user" password="$pwd" driverClassName="$driver" url="$url" />
</Context>

Dans le web.xml :

<resource-ref>
  <res-ref-name>dataSource</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

Dans les classes :

DataSource dataSource = (DataSource)((Context)InitialContext.doLookup("java:comp/env")).lookup("dataSource");
Connection connection = dataSource.getConnection();
//travail
connection.close();


Note : Pensez à mettre le driver au format .jar dans le dossier Tomcat/lib.
N'oubliez pas d'appeller la méthode close() pour libérer la connexion, sinon vous aurez une fuite de connexion. (pool leaking)

Différentes bases

Base de données$driver$urlTélécharger
Oracleoracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@//machine:port/bdd

PostgreSQLorg.postgresql.Driver

jdbc:postgresql://machine:port:bdd

Sources

 
prog/java/index.txt · Dernière modification: 2009/11/05 09:13 par trizolakai
 
Sauf mention contraire, le contenu de ce wiki est placé sous la licence suivante:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki