소스 검색

上传文件至 'src/com/person/web'

1801010606 6 년 전
부모
커밋
3c7a66036c
3개의 변경된 파일302개의 추가작업 그리고 0개의 파일을 삭제
  1. 100 0
      src/com/person/web/AddPersonServlet.java
  2. 36 0
      src/com/person/web/BaseServlet.java
  3. 166 0
      src/com/person/web/PersonServlet.java

+ 100 - 0
src/com/person/web/AddPersonServlet.java

@@ -0,0 +1,100 @@
+package com.person.web;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.beanutils.BeanUtils;
+import org.apache.commons.fileupload.FileItem;
+import org.apache.commons.fileupload.disk.DiskFileItemFactory;
+import org.apache.commons.fileupload.servlet.ServletFileUpload;
+
+import com.person.domain.Person;
+import com.person.service.PersonService;
+import com.person.service.impl.PersonServiceImpl;
+
+/**
+ * Servlet implementation class AddPersonServlet
+ */
+public class AddPersonServlet extends HttpServlet {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+	 */
+	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+		//创建磁盘文件项工厂
+		DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();		
+		//创建核心上传类
+		ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);		
+		//创建Map集合
+		Map<String, String> map = new HashMap();		
+		String filename = "";		
+		//解析request对象
+		try {
+			List<FileItem> list = servletFileUpload.parseRequest(request);
+			//遍历,获取数据
+			for (FileItem fileItem : list) {
+				//判断普通还是文件项
+				if(fileItem.isFormField()) {
+					//获取值
+					map.put(fileItem.getFieldName(), fileItem.getString("utf-8"));
+				}else {
+					//文件上传
+					//文件名称
+					filename = fileItem.getName();
+					//有的浏览器获取文件名称带路径 C:\aa\a.txt
+					int lens = filename.lastIndexOf("\\");
+					if(lens != -1) {
+						filename = filename.substring(lens+1);
+					}
+					//输入流
+					InputStream in = fileItem.getInputStream();
+					//路径
+					String path = this.getServletContext().getRealPath("/upload");
+					//输出流
+					OutputStream out = new FileOutputStream(path+"/"+filename);
+					//流对接
+					int len = 0;
+					byte[] b = new byte[1024];
+					while((len = in.read(b)) != -1) {
+						out.write(b, 0, len);
+					}
+					in.close();
+					out.close();
+				}
+			}
+			//数据放到map,把map数据封装到Javabean
+			Person p = new Person();
+			BeanUtils.populate(p, map);
+			//pid
+			String pid = UUID.randomUUID().toString();
+			p.setPid(pid);
+			//resume路径
+			p.setResume("/upload/"+filename);			
+			//调service添加
+			PersonService service = new PersonServiceImpl();
+			service.addPerson(p);			
+			//跳转列表
+			request.getRequestDispatcher("/person?method=list&currentPage=1").forward(request, response);
+			return;			
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+	}
+
+	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+		doGet(request, response);
+	}
+
+}

+ 36 - 0
src/com/person/web/BaseServlet.java

@@ -0,0 +1,36 @@
+package com.person.web;
+
+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;
+
+/**
+ * baseServlet
+ */
+public class BaseServlet extends HttpServlet {
+	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+		request.setCharacterEncoding("utf-8");
+		//1获取提交method值
+		//http://loaclhost:8080/personManagerProject/person?method=add
+		String method = request.getParameter("method");
+		//2获取功能的servlet,获取baseServlet的子类 Class
+		Class clazz = this.getClass();
+		try {
+			//3获取method值对应的名称的方法
+			Method m = clazz.getMethod(method, HttpServletRequest.class, HttpServletResponse.class);
+			//4把获取到的方法执行
+			String result = (String) m.invoke(this, request,response);
+			//5跳转到返回的路径
+			request.getRequestDispatcher(result).forward(request, response);
+			return;
+		} catch (Exception e) {
+			e.printStackTrace();
+		} 
+		
+	}
+
+}

+ 166 - 0
src/com/person/web/PersonServlet.java

@@ -0,0 +1,166 @@
+package com.person.web;
+
+import java.lang.reflect.InvocationTargetException;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.servlet.http.HttpSession;
+
+import org.apache.commons.beanutils.BeanUtils;
+
+import com.person.domain.PageBean;
+import com.person.domain.Person;
+import com.person.service.PersonService;
+import com.person.service.impl.PersonServiceImpl;
+
+/**
+ * Servlet implementation class PersonServlet
+ */
+public class PersonServlet extends BaseServlet {
+
+	//注册的方法
+	public String register(HttpServletRequest request, HttpServletResponse response) {
+		//获取表单提交数据
+		Person p = new Person();
+		try {
+			//BeanUtils把表单数据封装到javabean对象 
+			BeanUtils.populate(p, request.getParameterMap());
+			//调用service
+			PersonService personService = new PersonServiceImpl();
+			int id = personService.registerPerson(p);
+			p.setId(id);
+			request.setAttribute("p", p);
+			if(id == -1) {
+				return "/login/register.jsp";
+			}
+		} catch (IllegalAccessException e) {
+			e.printStackTrace();
+		} catch (InvocationTargetException e) {
+			e.printStackTrace();
+		}
+		return "/login/login.jsp";
+	}
+	
+	//登录的方法
+	public String login(HttpServletRequest request, HttpServletResponse response) {
+		//获取表单提交数据
+		Person p = new Person();
+		//BeanUtils把表单数据封装到javabean对象
+		try {
+			BeanUtils.populate(p, request.getParameterMap());
+			//调用service
+			PersonService personService = new PersonServiceImpl();
+			Person person = personService.loginUser(p);
+			//判断
+			if(person != null) {//成功
+				HttpSession session =  request.getSession();
+				session.setAttribute("person", person);
+				return "/login/home.jsp";
+			}else {
+				return "/login/login.jsp";
+			}
+		} catch (IllegalAccessException e) {
+			e.printStackTrace();
+		} catch (InvocationTargetException e) {
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	//人员列表的方法
+	public String list(HttpServletRequest request, HttpServletResponse response) {
+		//获取当前页
+		String currentPage = request.getParameter("currentPage");
+		int current  = 1;
+		if(currentPage != null && !"".equals(currentPage)) {
+			current = Integer.parseInt(currentPage);
+		}
+		//调用service
+		PersonService personService = new PersonServiceImpl();
+		PageBean pageBean = personService.findAllPage(current);
+		//传递到页面提示
+		request.setAttribute("pageBean", pageBean);
+		return "/user/list.jsp";
+		
+	}
+	
+	//修改页面数据显示
+	public String toUpdatePage(HttpServletRequest request, HttpServletResponse response) {
+		//获取人员id
+		String pid = request.getParameter("pid");
+		//根据pid查询人员信息
+		PersonService service = new PersonServiceImpl();
+		Person p = service.findOne(pid);
+		//把返回值传递页面显示
+		request.setAttribute("p", p);
+		return "/user/edit.jsp";
+	}
+	
+	//查看人员信息的方法
+	public String viewPerson(HttpServletRequest request, HttpServletResponse response) {
+		//获取人员id
+		String pid = request.getParameter("pid");
+		//根据pid查询人员信息
+		PersonService service = new PersonServiceImpl();
+		Person p = service.findOne(pid);
+		//把返回值传递页面显示
+		request.setAttribute("p", p);
+		return "/user/view.jsp";
+	}
+	
+	//查询人员的方法
+	public String selectPerson(HttpServletRequest request, HttpServletResponse response) {
+		//获取表单提交数据
+		Person p = new Person();
+		try {
+			BeanUtils.populate(p, request.getParameterMap());
+			//获取当前页
+			String currentPage = request.getParameter("currentPage");
+			int current  = 1;
+			if(currentPage != null && !"".equals(currentPage)) {
+				current = Integer.parseInt(currentPage);
+			}
+			//调用service
+			PersonService personService = new PersonServiceImpl();
+			PageBean pageBean = personService.selectPerson(p,current);
+			//传递到页面提示
+			request.setAttribute("pageBean", pageBean);
+		} catch (IllegalAccessException e) {
+			e.printStackTrace();
+		} catch (InvocationTargetException e) {
+			e.printStackTrace();
+		}
+		return "/user/select.jsp";
+	}
+	
+	//修改人员的方法
+	public String update(HttpServletRequest request, HttpServletResponse response) {
+		//获取表单提交数据,封装javabean
+		Person p = new Person();
+		try {
+			BeanUtils.populate(p, request.getParameterMap());
+			//调用service
+			PersonService personService = new PersonServiceImpl();
+			personService.update(p);
+			return "/person?method=list";
+		} catch (IllegalAccessException e) {
+			e.printStackTrace();
+		} catch (InvocationTargetException e) { 
+			e.printStackTrace();
+		}
+		return null;
+	}
+	
+	//删除人员的方法
+	public String delete(HttpServletRequest request, HttpServletResponse response) {
+		//获取人员id
+		String pid = request.getParameter("pid");
+		//根据pid查询人员信息
+		PersonService service = new PersonServiceImpl();
+		service.delete(pid);
+		return "/person?method=list";
+	}
+}