MVC概述
案例實現
1.將靜態頁面導入工程:
2.用戶實體的創建和初始化集合
註冊功能的實現
文件上傳的條件
* 表單必須是post提交方式
* 表單中必須有文件上傳項,文件上傳項必須有name屬性和值
* 表單的enctype屬性必須設置爲multipart/form-data
引入jar包
獲得表單項的數據
package com.imooc.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
/**
* 用戶註冊的servlet
*/
@WebServlet("/RegistServlet")
public class RegistServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//數據的接受
//文件上傳的基本操作
try {
//定義一個Map集合用於保存接受到的數據
Map<String,String> map =new HashMap<String,String>();
//1.創建一個磁盤文件項工廠對象
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
//2.創建一個核心解析類
ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
//3.解析request請求,返回的是List集合,List集合中存放的是FileItem對象
List<FileItem> list = servletFileUpload.parseRequest(request);
//定義一個List集合,用於保存興趣愛好數據
List<String> hobbyList = new ArrayList<String>();
//4.遍歷集合,獲得每個FileItem,判斷是表單項還是文件上傳項z
String url = null;
for(FileItem fileItem:list) {
//判斷是表單項還是文件上傳項
if(fileItem.isFormField()) {
// 普通表單項;
// 接收表單項參數的值
String name = fileItem.getFieldName();//獲得表單項的name屬性的值
String value = fileItem.getString("UTF-8");//多的表單項的值
System.out.println(name+" "+value);
}else {
//文件上傳項
//文件上傳功能
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
接收復選框的數據
文件上傳
定義一個工具類
將數據封裝到User
將註冊用戶信息存入到List
校驗用戶名
在regist.jsp加入
註冊成功後
登錄功能的實現
新建LoginServlet
登錄失敗效果
登錄成功效果
主頁顯示自己的圖片和名稱
Cookie記住用戶名
關閉瀏覽器後再次進入還會顯示用戶名
LoginServlet
新建CookieUtils類