医药项目源码解析(1)

1月22日接手该项目

该项目为医药项目;

该项目核心点:

Servlet的使用流程:

1.GenericServlet这个类里面有三个方法,也就是核心的方法;

init();

services(ServletRequestServletResponse);

destroy();

然后HttpServlet 继承了GenericServlet,除了这个三个方法外,还有最主要的两个方法,分别为doPost(HttpServletRequest,HttpServiceResponse)和doGet(HttpServletRequest,HttpServiceResponse);

BaseServlet是我们的servlet 的基类,作为一个抽象类,继承了HttpServlet;

service的方法具体如下:

	protected synchronized void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");
		response.setHeader("content-type", "text/html;charset=UTF-8");
		this.request = request;
		this.response = response;
		setHandlePermission();

		logger.trace("客户端发起请求,请求对象:" + this.getClass().getSimpleName());
		//查看上传信息
		for (Enumeration e = request.getParameterNames(); e.hasMoreElements(); ) {
			String name = e.nextElement();
			//注释入参打印clq_0412
			//logger.trace("name:{} value:{}", name, request.getParameter(name));
		}

		session = request.getSession();

		employee = (Employee) session.getAttribute(Constant.sessionUserAttrib);
		writer = response.getWriter();
		//获得参数数据
		dataJson = getParam(request);

		handle();
	}
其中employee是登录操作的用户,如果此用户为空,则返回登录页面;

/**
     * 设置相对应的操作权限.继承类必须实现此方法.
     */
    protected abstract void setHandlePermission();

(设置权限的方法,在继承这个BaseServlet抽象基类的时候,子类必须要实现它的抽象方法)

2. PrintWriter writer = response.getWriter();

write 作为返回前台的对象;

利用里面的write.print(Object o),数据可存放在Object中;前端接收数据,用于展示页面中;

3.

protected void queryAll() {
	}
	protected void delete() {
	}
	protected void update() {
	}
	protected void query() {
	}
	protected void add() {
	}
增删改查的4个方法,外加1个查询的全部方法,后台根据前端的controlType类型决定调用哪一个方法;

4.写一个Servlet,利用注解的方式在类的上方加上@WebServlet("/xxx.do");

实现增删改查的方法;相当于做一个接口,前台调用获取数据;

后台交互的核心就是这个,下一篇我将写实体类跟数据库的映射核心的文件解析;




你可能感兴趣的:(项目分析,原创文章)