📄 doreg.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 + -