import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.sql.Connection;
import java.util.Locale;
-import java.sql.*;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
+import mir.config.MirPropertiesConfiguration;
+import mir.log.LoggerWrapper;
+import mircoders.global.MirGlobal;
-import com.codestudio.util.*;
+import com.codestudio.util.JDBCPool;
import com.codestudio.util.JDBCPoolMetaData;
import com.codestudio.util.SQLManager;
-import mir.config.MirPropertiesConfiguration;
-import mir.config.MirPropertiesConfiguration.PropertiesConfigExc;
-import mir.log.LoggerWrapper;
-import mircoders.global.*;
-
/**
* Title: Mir
* Description: Abstract servlet-class
* Copyright: Copyright (c) 2001, 2002
* Company: Mir-coders group
* @author idfx, the Mir-coders group
- * @version $Id: AbstractServlet.java,v 1.30.2.2 2003/06/27 02:43:42 zapata Exp $
+ * @version $Id: AbstractServlet.java,v 1.30.2.6 2003/12/03 18:10:45 rk Exp $
*/
public abstract class AbstractServlet extends HttpServlet {
- protected static String lang;
+ //protected static String lang;
protected LoggerWrapper logger;
protected MirPropertiesConfiguration configuration;
*/
public AbstractServlet() {
super();
- logger = new LoggerWrapper("Servlet");
}
protected void setNoCaching(HttpServletResponse aResponse) {
*/
protected String getAcceptLanguage(HttpServletRequest aRequest) {
Locale loc = aRequest.getLocale();
- lang = loc.getLanguage();
+ String lang = loc.getLanguage();
return lang;
}
configuration = MirPropertiesConfiguration.instance();
}
catch (Throwable t) {
- logger.fatal("can't read configuration: " + t.toString());
throw new ServletException("can't read configuration: " + t.toString());
}
+ logger = new LoggerWrapper("Servlet");
+
try {
MirGlobal.localizer();
}
if (manager != null) {
pool = manager.createPool(meta);
}
+
+ if (pool==null) {
+ logger.fatal("Can't get pool!");
+ throw new ServletException("Can't get pool!" );
+ }
Connection connection;
try {
connection = pool.requestConnection();
- pool.closeConnection(connection);
+ JDBCPool.closeConnection(connection);
}
catch (Throwable t) {
logger.fatal("Can't connect to database: " + t.toString());
private void setEncoding(HttpServletRequest request){
try {
+ logger.info("Request has encoding: " + request.getCharacterEncoding());
+ logger.info("Config stipulates encoding: " + configuration.getString("Mir.DefaultHTMLCharset"));
Class reqClass = request.getClass();
Method method = reqClass.getMethod("setCharacterEncoding", new Class[]{String.class});
String encoding = configuration.getString("Mir.DefaultHTMLCharset");
method.invoke(request, new Object[]{encoding});
- } catch (NoSuchMethodException e) {
+ logger.info("Request now has encoding: " + request.getCharacterEncoding());
+ }
+ catch (NoSuchMethodException e) {
// TODO set the encoding in a zapata-way
// logger.warn("set encoding not yet implemented: " + e.getMessage());
- } catch (SecurityException e) {
+ }
+ catch (SecurityException e) {
logger.error(e.getMessage());
e.printStackTrace();
- } catch (IllegalArgumentException e) {
+ }
+ catch (IllegalArgumentException e) {
logger.error(e.getMessage());
e.printStackTrace();
- } catch (IllegalAccessException e) {
+ }
+ catch (IllegalAccessException e) {
logger.error(e.getMessage());
e.printStackTrace();
- } catch (InvocationTargetException e) {
+ }
+ catch (InvocationTargetException e) {
logger.error(e.getMessage());
e.printStackTrace();
}
}
protected final void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- if ( (configuration.getString("RootUri") == null) ||
- configuration.getString("RootUri").equals("")) {
+ if ((configuration.getString("RootUri") == null) || configuration.getString("RootUri").equals("")) {
configuration.setProperty("RootUri", request.getContextPath());
}
setEncoding(request);