mybatis加servlet-登陆注册Demo

数据库设计如下:

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>登陆</title>
   
<style>
      *{
	     margin:0px;
		 padding:0px;
	  }
     .container{
	    width:1000px;
		height:500px;
	    background-image:url("./image/background_login1.jpg");
	    background-size:1000px 500px;
		background-repeat:no-repeat;
		margin:100px auto;
		border:2px solid red;
	 }

    table{
	   width:500px;
	   height:400px;
       position:relative;        
	   top:50px;
	}

	input{
	   height:25px;
	}

  </style>
 </head>

<body>
<div align="center" class="container">
   
	<table style="border-collapse:separate; border-spacing:0px 10px;">
	     <form action="UserServlet?method=1" method="post" id="form">
	              <tr>
		               <td width="100">姓名:</td> 
		               <td width="220"><input name = "name" id="name" type="text" maxlength="10" placeholder="请输入用户名"/>
		               </td> 
	              </tr> 
	             
	              <tr>
	                   <td width="100">密码:</td> 
		               <td width="220"><input name = "psw" id="psw" type="password" maxlength="10" placeholder="请输入密码"/>
		               </td> 
	              </tr>
	              
	              <tr align="center" valign="center" cellpadding="5px"> 
	                   <td></td>
	                   <td style="margin-top:20px;">
		                   <div id="btps">
			                    <input onclick="SubmitForm()" type="button" value="登陆" /> 
			                    <input type="reset" name="Submit" value="重置" /> 
			                    <a href="register.jsp">注册账号</a>
		                   </div>
	                   </td> 
	              </tr> 
	 
	     </form>  
	  </table>
	</div>

<script type="text/javascript">

	var form = document.getElementById("form");

	function SubmitForm() {
		
		 form.submit();		
	}
	

</script>
</body>
</html>

 register.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>报名信息后台管理</title>
   
<style>
      *{
	     margin:0px;
		 padding:0px;
	  }
     .container{
	    width:1000px;
		height:500px;
	    background-image:url("./image/background_login1.jpg");
	    background-size:1000px 500px;
		background-repeat:no-repeat;
		margin:100px auto;
		border:2px solid red;
	 }

    table{
	   width:500px;
	   height:400px;
       position:relative;        
	   top:50px;
	}

	input{
	   height:25px;
	}

  </style>
 </head>

<body>
<div align="center" class="container">
   
	<table style="border-collapse:separate; border-spacing:0px 10px;">
	     <form action="UserServlet?method=2" method="post" id="form">
	              <tr>
		               <td width="100">用户名:</td> 
		               <td width="220"><input name = "name" id="name" type="text" maxlength="10" placeholder="请输入用户名"/>
		               </td> 
	              </tr> 
	                 
	              <tr>
	                   <td width="100">密码:</td> 
		               <td width="220"><input name = "psw" id="psw" type="password" maxlength="10" placeholder="请输入密码"/>
		               </td> 
	              </tr>
	              
	              <tr align="center" valign="center" cellpadding="5px"> 
	                   <td></td>
	                   <td style="margin-top:20px;">
		                   <div id="btps">
			                    <input onclick="SubmitForm()" type="button" value="注册" /> 
			                  
			                    <a href="login.jsp">已有账号</a>
		                   </div>
	                   </td> 
	              </tr> 
	 
	     </form>  
	  </table>
	</div>

<script type="text/javascript">

	var form = document.getElementById("form");

	function SubmitForm() {
		
		 form.submit();		
	}
	

</script>
</body>
</html>

success.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
   <b>恭喜你登陆成功</b>
</body>
</html>

web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
  <display-name>Mybatis_02</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  
  <servlet>
     <servlet-name>UserServlet</servlet-name>
     <servlet-class>com.liqiang.servlet.UserServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
     <servlet-name>UserServlet</servlet-name>
     <url-pattern>/UserServlet</url-pattern>
  </servlet-mapping>
</web-app>

mybatis-config.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
  PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-config.dtd"> <!-- 约束文件 -->
 <configuration>
  <environments default="development">
    <environment id="development">
      <transactionManager type="JDBC"/>
      <dataSource type="POOLED">
        <property name="driver" value="com.mysql.jdbc.Driver"/>
        <property name="url" value="jdbc:mysql://localhost:3306/mybatis"/>
        <property name="username" value="root"/>
        <property name="password" value="asdasd456789"/>
      </dataSource>
    </environment>
  </environments>
  
  
  
  <!-- 需要配置SQL映射文件 -->
  <mappers>
    <!-- <mapper resource="com/atguigu/mybatis/dao/Employee.xml"/> -->
     <mapper resource="com/liqiang/mapper/UserMapper.xml"/> 
   
  </mappers>
  
 
</configuration>

 UserServlet.java

package com.liqiang.servlet;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.ibatis.io.Resources;
import org.apache.ibatis.session.SqlSession;
import org.apache.ibatis.session.SqlSessionFactory;
import org.apache.ibatis.session.SqlSessionFactoryBuilder;

import com.liqiang.entity.User;
import com.liqiang.mapper.UserMapper;

public class UserServlet extends HttpServlet{

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req,resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		resp.setCharacterEncoding("utf-8");
		int method = Integer.parseInt(req.getParameter("method"));
		System.out.println("method:"+method);
		if(method == 1) {
			login(req,resp);
		}
		
		else if(method == 2)
		{
			register(req,resp);
		}
	}
	
	public void login(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String username = req.getParameter("name");
		String psw  = req.getParameter("psw");
		
		System.out.println("login");
		
		String resource = "mybatis-config.xml";
		
	    InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//getSqlSessionFactory();
		
		SqlSession openSession = sqlSessionFactory.openSession();
	    
		try {
			
		     //得到EmployeeMapper的实现类对象
			 UserMapper mapper =  openSession.getMapper(UserMapper.class);
			 User user = mapper.checkUser(username,psw);
			  if(user != null) {
				  req.getRequestDispatcher("success.jsp").forward(req, resp);
			  }
			  else {
				  PrintWriter out = resp.getWriter();
				  out.println("<script language=javascript>alert('用户登录失败,用户名或密码错误!');window.location.href='login.jsp';</script>");
			  } 
		 
		} finally {
			 openSession.close();
		}
	}

	
	public void register(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		String username = req.getParameter("name");
		String psw  = req.getParameter("psw");
		User user = new User();
		user.setUsername(username);
		user.setPsw(psw);
		
		System.out.println("register");
		
		String resource = "mybatis-config.xml";
	    InputStream inputStream = Resources.getResourceAsStream(resource);
		SqlSessionFactory sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream);//getSqlSessionFactory();
		
		SqlSession openSession = sqlSessionFactory.openSession();
	   
	    
		try {
			
			UserMapper mapper =  openSession.getMapper(UserMapper.class);
		    mapper.registerUser(user);
		    //这里一定得提交,不然进不了数据库
			openSession.commit();
			  
			PrintWriter out = resp.getWriter();
		    out.println("<script language=javascript>alert('success to register');window.location.href='login.jsp';</script>");
			
		 
		} catch(Exception e) {
			e.printStackTrace();
		}finally {
			openSession.close();
		}
	}
}

UserMapper.java

package com.liqiang.mapper;

import com.liqiang.entity.User;

public interface UserMapper {
     public User checkUser(String username,String psw);
     public void registerUser(User user);
}

UserMapper.xml(这个文件应该和UserMapper.java同一个包)

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper
  PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  <!---在mybatis3.4以上版本,传多个参数应该是#{arg0} #{arg1}而不是#{0} #{1}-->
<mapper namespace="com.liqiang.mapper.UserMapper">
  <select id="checkUser" resultType="com.liqiang.entity.User">
     select * from user where username = #{arg0} and psw = #{arg1}
  </select>
   <!---这里传入一个对象,要求sql语句中的参数需要和User的属性相同,一一对应-->
  <insert id="registerUser" parameterType="com.liqiang.entity.User" >
      insert into user(username , psw) values(#{username}, #{psw})
  </insert>
</mapper>

User实体类

package com.liqiang.entity;

public class User {
     private String username;
     private String psw;
	 
	 
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPsw() {
		return psw;
	}
	public void setPsw(String psw) {
		this.psw = psw;
	}
     
}

 

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值