OA系统:搭建项目框架

一、创建facaioa项目

workspace编码统一更改为utf-8
在这里插入图片描述找到Preferences
OA系统:搭建项目框架_第1张图片

二、创建包和文件夹

1.创建包
OA系统:搭建项目框架_第2张图片
2.创建WebRoot下文件夹
system:人事管理
duty:考勤管理
expense:报销单
inout:收支管理

三、添加jar包

1.添加jar包
1)gson-2.2.4.jar
2)log4j-1.2.8.jar
3)ojdbc6.jar
4)mysql-connector-java-5.1.30.jar
5)jdbc.properties(放在src目录下)
2.添加类库
添加JUnit4
OA系统:搭建项目框架_第3张图片

四、添加工具类

1、Servlet
BaseServlet:

package com.facai.servlet;

import java.io.IOException;
import java.lang.reflect.Method;

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

public abstract class BaseServlet extends HttpServlet {
	@Override
	protected void service(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		//设置请求编码格式,解决post单中文乱码问题
		req.setCharacterEncoding("utf-8");
		//获取请求信息
		String methodName=req.getParameter("method");
		
		//调用方法(处理和响应请求)
		try {
			//根据方法名调用方法--->反射
			//反射方法所在类的类对象
			Class cla=this.getClass();
			//反射获取要被调用的对象方法
			Method m=cla.getMethod(methodName, HttpServletRequest.class,HttpServletResponse.class);
			//反射执行方法
			m.invoke(this, req,resp);
		} catch (Exception e) {
			e.printStackTrace();
		}
		
	}
}

2、util
DBUtil:

package com.facai.util;

import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Properties;

public class DBUtil {
	//声明全局变量记录jdbc参数
	private static String driver;
	private static String url;
	private static String username;
	private static String password;
	//使用静态代码块,在类加载时即完成对属性文件的读取
	static{
		//动态获取属性配置文件的流对象
		InputStream in=DBUtil.class.getResourceAsStream("/db.properties");
		//创建Properties对象
		Properties p=new Properties();
		//加载
		try {
			p.load(in);//会将属性配置文件的所有数据存储到Properties对象中
			//将读取的jdbc参数赋值给全局变量
			driver=p.getProperty("driver");
			url=p.getProperty("url");
			username=p.getProperty("username");
			password=p.getProperty("password");
			//加载驱动
			Class.forName(driver);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	//创建连接对象并返回
	public static Connection getConnection(){
		Connection conn=null;
		try {
			conn = DriverManager.getConnection(url, username, password);
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		return conn;
	}
	//关闭资源
	public static void closeAll(ResultSet rs,Statement stmt,Connection conn){
		try {
			if(rs!=null){
				rs.close();
			}
		} catch (SQLException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		try {
			stmt.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		try {
			conn.close();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
		
	}
	//封装增加删除修改的通用工具方法
	/**
	 * @param sql SQL语句
	 * @param objs	SQL语句占位符实参,如果没有参数则传入null
	 * @return 返回增删改的结果,类型为int
	 */
	public static int executeDML(String sql,Object...objs){
		// 声明jdbc变量
				Connection conn = null;
				PreparedStatement ps = null;
				int i = -1;
				try {
					// 获取连接对象
					conn = DBUtil.getConnection();
					// 开启事务管理
					conn.setAutoCommit(false);
					// 创建SQL命令对象
					ps = conn.prepareStatement(sql);
					// 给占位符赋值
					if(objs!=null){
						for(int j=0;j

五、添加界面原型

加入界面原型 (采用界面原型的jquery版本)
链接:https://pan.baidu.com/s/1dOkD7UNrWbOyhuiJD18O3A
密码:83h0

六、部署项目并测试

OA系统:搭建项目框架_第4张图片

你可能感兴趣的:(OA系统)