Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能

Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能

创建login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>



"UTF-8">
Insert title here


	
	
<% String error = (String) request.getAttribute("errornews"); if (error != null && !error.equals("")) { %> "red"><%=error%> <% } %>
"loginServlet"> "5">登录界面

用户名:"text" name="userName" />

密 &ensp; ;码:"password" name="userPassword" />

"submit" value="登陆" /> &ensp;"reset" value="重置" />

创建phoneChoose.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>



"UTF-8">
Insert title here


	
	
<% //session.removeAttribute("shoppingCar"); //session.invalidate(); %>
"ShoppingCarServlet" method="post"> <% out.print("

手机商城



"
); %> "checkbox" name="phone" value="p30" />华为P30&emsp;&ensp; ;
"checkbox" name="phone" value="mate30" />华为mate30
"checkbox" name="phone" value="iphone11" />iphone11&emsp;
"checkbox" name="phone" value="iphone12" />iphone12&emsp;
"checkbox" name="phone" value="xiaomi10p" />小米10pro ; ;
"checkbox" name="phone" value="sanxings20" />三星S20&emsp; ; ;
"checkbox" name="phone" value="iqoo3" />iqoo3&emsp;&emsp; ; ;
"checkbox" name="phone" value="vivoNEX3" />vivo NEX3 ; ;
"submit" value="购买"> "submit" value ="查看购物车" >

创建UserBean.java

package com.bean;

public class UserBean {
	private String userName;
	private String userPassword;
	private String errornews = "";

	public UserBean(String name, String password) {
		userName = name;
		userPassword = password;
	}

	public boolean isLoginSuccess() {
		boolean success = true;

		if (userName == null || !userName.equals("qqq") || userPassword == null || !userPassword.equals("qqq123")) {
			// 如果“用户名为空”、“用户名不为qqq”、“密码为空”、“密码不为qqq123”这四种情况出现任意一种,即视为登陆失败,则进入下面的错误信息提示
			errornews += "登陆失败,错误信息:";
			success = false; // 登陆失败
			if (userName != null && !userName.equals("qqq")) {
				// 如果用户名不为空,但用户名不为qqq,视为用户名不存在
				errornews += "用户名不存在";
			}
			if (userName.equals("qqq") && userPassword.length() > 6 && !userPassword.equals("qqq123")) {
				// 如果用户名为qqq,密码满足6位,但密码不为qqq123,则视为密码错误
				errornews += "密码错误";
			}
			if ("".equals(userName)) {
				errornews += "用户名不能为空";
			}
			if ("".equals(userPassword)) {
				errornews += "密码不能为空";
			} else if (userPassword.length() < 6) {
				// 密码小于6位
				errornews += "密码不能小于6位";
			}
		}

		return success;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserPassword() {
		return userPassword;
	}

	public void setUserPassword(String userPassword) {
		this.userPassword = userPassword;
	}

	public String geterrornews() {
		return errornews;
	}

	public void seterrornews(String errornews) {
		this.errornews = errornews;
	}
}

创建loginServlet.java

package com.servlet;

import java.io.IOException;
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 com.bean.UserBean;

/**
 * Servlet implementation class loginServlet
 */
@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public loginServlet() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		// 传参,传用户名、密码
		String userName = request.getParameter("userName");
		String userPassword = request.getParameter("userPassword");
		UserBean user = new UserBean(userName, userPassword);

		if (user.isLoginSuccess()) {
			// 如果UserBean判断登陆成功,则进入phoneChoose.jsp页面
			request.getSession().setAttribute("user", user);
			response.sendRedirect("phoneChoose.jsp");
		} else {
			// 否则,返回错误信息
			request.setAttribute("errornews", user.geterrornews());
			request.getRequestDispatcher("login.jsp").forward(request, response);
		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

创建ShoppingCarServlet.java

package com.servlet;

import java.io.IOException;
import java.util.HashMap;
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 javax.servlet.http.HttpSession;

/**
 * Servlet implementation class ShoppingCarServlet
 */
@WebServlet("/ShoppingCarServlet")
public class ShoppingCarServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public ShoppingCarServlet() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	@SuppressWarnings("unchecked")
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// 设置编码格式
		request.setCharacterEncoding("utf-8");

		HttpSession session = request.getSession();
		Map car = (Map) session.getAttribute("shoppingCar");
		if (car == null) {
			car = new HashMap<>();
		}
		// 遍历信息
		String[] phones = request.getParameterValues("phone");
		if (phones != null && phones.length > 0) {
			for (String phone : phones) {
				// 判断购物车中是否有某手机的购买信息
				if (car.get(phone) != null) {
					int num = car.get(phone);
					car.put(phone, num + 1);
				} else {
					// 第一次购买手机
					car.put(phone, 1);
				}
			}
		}

		session.setAttribute("shoppingCar", car);
		response.sendRedirect("ShoppingListServlet");
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

创建ShoppingListServlet.java

package com.servlet;

import java.io.IOException;
import java.io.PrintWriter;
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 javax.servlet.http.HttpSession;

/**
 * Servlet implementation class ShoppingListServlet
 */
@WebServlet("/ShoppingListServlet")
public class ShoppingListServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;

	/**
	 * @see HttpServlet#HttpServlet()
	 */
	public ShoppingListServlet() {
		super();
		// TODO Auto-generated constructor stub
	}

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html;charset=utf-8");
		PrintWriter out = response.getWriter();

		HttpSession session = request.getSession();
		@SuppressWarnings("unchecked")
		Map car = (Map) session.getAttribute("shoppingCar");

		// 判断购物车里是否有商品
		if (car != null && car.size() > 0) {
			out.print("

您购买的手机有:

"
); for (String phoneName : car.keySet()) { // 打印详细信息 out.print("

" + phoneName + ":" + car.get(phoneName) + "台" + "

"
); } } else { out.print("

您的购物车中没有任何商品

"
); } // 返回手机商城按钮 out.print( ""); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse * response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }

Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能_第1张图片
Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能_第2张图片
Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能_第3张图片
Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能_第4张图片
Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能_第5张图片
Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能_第6张图片
Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能_第7张图片
Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能_第8张图片

你可能感兴趣的:(Javaweb Ajax实验—使用ajax实现登陆验证及购物车功能)