Hier mal ein paar Problemchen, die mir bisher beim Rumspielen am Quellcode aufgefallen sind.
- Keine einheitliche Kodierung der Quellen, deswegen sind an mehreren Stellen die Umlaute usw. verhunzt.
- Vorschlag: UTF-8 als Standardkodierung
- JDBC-URLs fest an mehreren Stellen im Quellcode, dann mal ein properties-File
- Vorschlag: Definition einer DataSource, z.B. in webroot/META-INF/context.xml oder in $TOMCAT_HOME/conf/Catalina/$HOSTNAME/wadoku.xml oder server.xml
Codeblock |
---|
|
<Context path="/wadoku" docBase=".../wadoku/webroot" debug="0" reloadable="true">
<Resource name="jdbc/WadokuDS" auth="Container"
type="javax.sql.DataSource"
username="username" password="password"
driverClassName="com.mysql.jdbc.Driver"
maxActive="20" maxIdle="10"
url="jdbc:mysql://localhost/wadoku2?autoReconnect=true&useUnicode=true&characterEncoding=UTF8"/>
</Context> |
Referenzierung recht schmerzfrei mit Codeblock |
---|
Context envCtx = (Context) new InitialContext().lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/WadokuDS");
// oder
// DataSource ds = (DataSource) new InitialContext().lookup("java:comp/env/jdbc/WadokuDS");
Connection con = ds.getConnection(); |
- insgesamt weg von statischen Pfadangaben im Quelltext
- Vorschlag: properties-File oder <Resource...>-Angabe ähnlich oben
- mangelhafte Kodierung der URLs
- Vorschlag: immer explizite Angabe der Kodierung mittels URLEncoder.encode( shlp, "UTF-8" )