appservlet.java

来自「struts构架例程基于struts的人事管理系统3.办公日志系统4.电子政务管」· Java 代码 · 共 55 行

JAVA
55
字号
package com.dataquery.servlet;

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.dataquery.model.ProcessData;
import com.dataquery.util.Status;

public class AppServlet extends HttpServlet {

	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		process(request,response);
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		process(request,response);
	}

	private void process(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		String dataBean = request.getParameter("SVR_ID");  //从客户端读取JAVABEAN的值
		String successPage = request.getParameter("TO_PAGE");
		Object object = null;
		try {
			//  Object object = new com.reg.model.RegDataBean();
			object = Class.forName("com.dataquery.model."+dataBean).newInstance();
		} catch (Exception e) {
			System.out.println("加载JAVABEAN失败...");
		}
		
		ProcessData proData = (ProcessData)object;  //将object对象转换成ProcessData对象,以便实现多态
		
		//产生一个status对象,使用存储操作异常
		Status sat = new Status();
		request.setAttribute("status",sat);  //保存至request中,以便在视图中通过requst来获取异常信息
		try {
			proData.execute(request,sat);  //通过多态特征调用子类中的execute方法
			RequestDispatcher dispatcher = request.getRequestDispatcher(successPage);
			dispatcher.forward(request,response);  //操作成功,分发至success.jsp中
		} catch (Exception e){
			e.printStackTrace();
			RequestDispatcher dispatcher = request.getRequestDispatcher("faild.jsp");
			dispatcher.forward(request,response);  //操作成功,分发至faild.jsp中
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?