?? servlet.java
字號:
package cn.ialvin.web;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.ialvin.bbs.dao.DAOFactory;
import cn.ialvin.sql.ConnectionPool;
import cn.ialvin.sql.PoolBusyException;
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet() { super(); }
public void init() { this.application = this.getServletContext(); }
public void destroy() { super.destroy(); }
protected void w(String s, PrintWriter out) { out.print(s); }
protected void wln(String s, PrintWriter out) { this.w(s, out); this.w("\r\n", out); }
protected void wJS(String js, PrintWriter out) { this.wln("<script type='text/javascript'>//<![CDATA[", out); this.wln(js, out); this.wln("//]]></script>", out); }
protected void alert(String msg, PrintWriter out) { this.wJS("alert(unescape(\"" + Encoder.escape(msg) + "\"));", out); }
protected void replace(String target, PrintWriter out) { this.wJS("window.location.replace(unescape(\"" + Encoder.escape(target) + "\"));", out); }
protected void go(String target, PrintWriter out) { this.wJS("window.location.href = unescape(\"" + Encoder.escape(target) + "\");", out); }
protected void back(PrintWriter out) { this.wJS("window.history.go(-1);", out); }
protected String encodeHTML(String s) { return Encoder.encodeHTML(s); }
protected String getParameter(String k, HttpServletRequest request) {
if (request == null) return "";
String v = request.getParameter(k);
if (v == null) return ""; return v;
}
protected int getIParameter(String k, HttpServletRequest request) throws Exception {
return Integer.parseInt(this.getParameter(k, request), 10);
}
protected void forward(String u, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.getRequestDispatcher(u).forward(request, response);
}
protected ServletContext application = null;
public void doAction(
HttpServletRequest request,
HttpServletResponse response,
PrintWriter out,
DAOFactory factory)
throws ServletException, IOException, SQLException {
this.w("子類請重寫 doAction() 方法!", out);
}
public void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
DAOFactory factory = null;
try {
if ("YES".equals(this.application.getAttribute("DB_CONNECTION_INITED"))) {
Object o = this.application.getAttribute("DBPool");
factory = new DAOFactory((ConnectionPool)o);
this.doAction(request, response, out, factory);
} else {
this.alert("服務器出錯!請聯系管理員!", out);
}
} catch (PoolBusyException e) {
e.printStackTrace();
this.alert("服務器繁忙,請稍后訪問!", out);
} catch (Exception e) {
e.printStackTrace();
this.alert("服務器出錯!請聯系管理員!", out);
} finally {
if (factory != null) factory.destroy();
out.flush();
out.close();
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -