All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.infop.controller.user.UserSave Maven / Gradle / Ivy

package cn.infop.controller.user;

import java.io.IOException;
import java.sql.SQLException;

import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;

import org.apache.commons.lang3.StringUtils;

import cn.infop.dao.FileDao;
import cn.infop.dao.UserDao;
import cn.infop.entity.User;
import cn.infop.tools.ConstantUtils;

@MultipartConfig
@WebServlet("/console/user-save.do")
public class UserSave extends HttpServlet {

	private static final long serialVersionUID = 6061716542948789392L;

	private String getFileName(Part part) throws IOException {
		String header = part.getHeader("content-disposition");
		String value = header.substring(header.indexOf("filename=\"") + 10, header.lastIndexOf("\""));
		return value.startsWith("; name=\"") ? "" : value;
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		UserDao dao = new UserDao();
		User user = null;
		String avatar_url = "";

		String username = request.getParameter("username");
		String password = request.getParameter("password");
		String phone = request.getParameter("phone");

		FileDao fileDao = new FileDao();

		Part part = request.getPart("avatar");
		String new_file_name = getFileName(part);

		if (StringUtils.isNotEmpty(new_file_name))
			avatar_url = fileDao.savePartToDisk(part);

		user = new User(username, password, false, avatar_url, phone);

		try {
			dao.save(user);
			request.setAttribute("msg", ConstantUtils.MSG_SAVED);
		} catch (SQLException e) {
			request.setAttribute("msg", ConstantUtils.MSG_SAVE_FAILED);
			e.printStackTrace();
		}

		request.getRequestDispatcher("/console/user-list.jsp").forward(request, response);
	}

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy