⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 servlet.java

📁 又一个课程设计 简易 JSP 论坛 功能较简单的那种, 界面上模仿了 Discuz JSP 本来就学的不行, 只是尽量实现了 MVC
💻 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 + -