⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 doreg.java

📁 博客管理系统。安装说明: 1、在SQLSERVER中创建blog数据库并创建登陆帐号blog:blog
💻 JAVA
字号:
package huc.blog.servlet;

import huc.blog.bean.User;
import huc.blog.op.UserOp;
import huc.blog.util.ParamUtils;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;

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

import org.apache.commons.fileupload.DefaultFileItemFactory;
import org.apache.commons.fileupload.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUpload;
import org.apache.commons.fileupload.FileUploadException;

public class DoReg extends HttpServlet {

	private static final long serialVersionUID = 1L;

	/**
	 * The doGet method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		doPost(request, response);
	}

	/**
	 * The doPost method of the servlet. <br>
	 *
	 * This method is called when a form has its tag value method equals to post.
	 * 
	 * @param request the request send by the client to the server
	 * @param response the response send by the server to the client
	 * @throws ServletException if an error occurred
	 * @throws IOException if an error occurred
	 */
	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		
        String msg = "";
        User user = new User();
        UserOp userOp = new UserOp();
        SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        
        // 设置最大文件尺寸,4M
        int maxSize = 4*1024*1024;  //以bytes为单位。
        
        // 设置缓冲区大小,100K
        int bufferSize = 100*1024;  //以bytes为单位。
        
        //设置上传文件存储相对路径
        String strPath = "upload";
        
        //设置上传文件临时存储相对路径
        String tempDir = "temp";

        boolean isMultipart = FileUpload.isMultipartContent(request);
        if(isMultipart){
            File updir = new File(request.getSession().getServletContext().getRealPath(strPath)); 
            if(!updir.exists()) updir.mkdir();
            
            DefaultFileItemFactory factory = new DefaultFileItemFactory();
            factory.setRepository(new File(request.getSession().getServletContext().getRealPath(tempDir)));
            factory.setSizeThreshold(bufferSize);
            DiskFileUpload upload = new DiskFileUpload(factory);
        
            upload.setSizeMax(maxSize);
            try{
                List items = upload.parseRequest(request);
                Iterator iter = items.iterator();
                while (iter.hasNext()) {
                    FileItem item = (FileItem) iter.next();
                
                    if (!item.isFormField()) {
                        long sizeInBytes = item.getSize();
                        if(sizeInBytes <= 0){
                            user.setIcon("upload/0.jpg");
                        }
                        else{
                            String oldName = item.getName();
                            String fileName = System.currentTimeMillis() + oldName.substring(oldName.lastIndexOf("."));
                            String strUpFileUrl = request.getSession().getServletContext().getRealPath(strPath) + "/" + fileName;
                            item.write(new File(strUpFileUrl));
                            user.setIcon("upload/" + fileName);
                        }
                    }
                    else{
                        if(item.getFieldName().equals("userName"))
                            user.setUserName(item.getString("UTF-8"));
                        else if(item.getFieldName().equals("userPass"))
                            user.setUserPass(item.getString("UTF-8"));
                        else if(item.getFieldName().equals("nickName"))
                            user.setNickName(item.getString("UTF-8"));
                        else if(item.getFieldName().equals("email"))
                            user.setEmail(item.getString("UTF-8"));
                        else if(item.getFieldName().equals("city"))
                            user.setCity(item.getString("UTF-8"));
                        else if(item.getFieldName().equals("spaceName"))
                            user.setSpaceName(item.getString("UTF-8"));
                    }
                }
            }
            catch(FileUploadException e){
                msg = "上传图片超过最大限制(4K)!";
            }
            catch(Exception e){
                msg = "上传失败!";
            }
        }
        else
            msg = "您的提交非法!";

        //user.setBirthday(f.format(new Date()));
        user.setRegDate(f.format(new Date()));
        user.setUpdateTime(f.format(new Date()));
        user.setSpaceHit(0);
        user.setIsCommend(0);
        
        //检查是否重名
        if(userOp.checkExist(user))
            msg = "该用户名已存在";
        
        if(msg.equals("")){
            if(userOp.add(user)){
                request.setAttribute("info", "succ");
                request.getRequestDispatcher("../reginfo.jsp").forward(request, response);
            }
            else{
                request.setAttribute("info", "fail");
                request.getRequestDispatcher("../reginfo.jsp").forward(request, response);
            }
        }
        else{
            request.setAttribute("msg", msg);
            request.getRequestDispatcher("../reg.jsp").forward(request, response);
        }
	}

}

⌨️ 快捷键说明

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