实现javaWeb对数据库的增删改查-MVC开发思想-Controller层之创建新用户

  • 案例目标

用户填写表单信息,提交后查询数据库,查看用户名是否被使用,若未被使用,则在数据库增加该用户的记录,否则,则在页面上显示红色的字  "用户名xxx已经被使用",同事表单内仍保留着用户的输入信息

  • 创建newCustomer.jsp提供给用户输入信息,并实现在页面上显示红色的字  "用户名xxx已经被使用",同事表单内仍保留着用户的输入信息的功能

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<%
		String msg = (String)request.getAttribute("message");
		if( msg != null ){
	%>
	<h3><font color="red"><%= msg %></font></h3>
	<% 		
		}
	%>
	<form action="add.do" method="post">
		<table>
			<tr>
				<td>名称:</td>
				<td><input type="text" name="name" value="<%= request.getParameter("name")==null ? "":request.getParameter("name") %>"/></td>
			</tr>
			<tr>
				<td>地址:</td>
				<td><input type="text" name="address" value="<%= request.getParameter("address")==null ? "":request.getParameter("address") %>"/></td>
			</tr>
			<tr>
				<td>手机号:</td>
				<td><input type="text" name="phone" value="<%= request.getParameter("phone")==null ? "":request.getParameter("phone") %>"/></td>
			</tr>
			<tr>
				<td colspan="2"><input type="submit" value="提交"/></td>
			</tr>
		</table>
	</form>
</body>
</html>
  • 编写add函数

	private void add(HttpServletRequest request, HttpServletResponse response){	
		System.out.println("{ CustomerServlet }[ add ]");
		try {
			request.setCharacterEncoding("UTF-8");
		} catch (UnsupportedEncodingException e1) {
			// TODO Auto-generated catch block
			e1.printStackTrace();
		}
		//1.获取表单参数
		String newCustomerName = request.getParameter("name");
		String newCustomerAddress = request.getParameter("address");
		String newCustomerPhone = request.getParameter("phone");
		Customer customer = new Customer(newCustomerName, newCustomerAddress, newCustomerPhone);
		//2查询数据库判断名称是否已经被占用,根据不同的信息进行不同的处理
		long newCustomerNameCountInDB = customerDAOJdbcImp.getCountSameWithName(newCustomerName);
		if(newCustomerNameCountInDB==0) {
			//若名称未被占用
			//Customer customer = new Customer(0, newCustomerName, newCustomerAddress, newCustomerPhone);
			customerDAOJdbcImp.save(customer);
			//为了防止出现表单的重复提交,用户创建成功后重定向到success.jsp
			try {
				response.sendRedirect("success.jsp");
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}else {
			System.out.println("newCustomerNameCountInDB!=0");
			//若名称被占用,就跳转至newCustomer.jsp
			String message = "名称" + newCustomerName + "已被使用!请重新创建";
			request.setAttribute("message", message);
			try {
				request.getRequestDispatcher("/newCustomer.jsp").forward(request, response);
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}

猜你喜欢

转载自blog.csdn.net/qq_23937341/article/details/81464234