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

  • 案例目标

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

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

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




Insert title here


	<%
		String msg = (String)request.getAttribute("message");
		if( msg != null ){
	%>
	

<%= msg %>

<% } %>
名称: "/>
地址: "/>
手机号: "/>
  • 编写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();
			}
		}
		
	}

 

你可能感兴趣的:(实现javaWeb对数据库的增删改查-MVC开发思想-Controller层之创建新用户)