1.完成用户登录功能。 2.完成注册功能。 3.主体利用Maven导入java中的jar包,使用Servlet实现前后端交互,使用mybatis以及注解,Mysql进行数据保存,Tomcat服务器进行开发。 效果图
1.完成用户登录功能。
2.完成注册功能。
3.主体利用Maven导入java中的jar包,使用Servlet实现前后端交互,使用mybatis以及注解,Mysql进行数据保存,Tomcat服务器进行开发。
效果图
项目结构
代码
mapper(相对应注解)
package com.itheima.mapper;import com.itheima.pojo.User;import org.apache.ibatis.annotations.Insert;import org.apache.ibatis.annotations.Param;import org.apache.ibatis.annotations.Select;public interface UserMapper { @Select("select * from tb_user where username=#{username} and passWord = #{password}") User select(@Param("username") String username, @Param("password")String password); @Select("select * from tb_user where username=#{username}") User selectByUsername(String usernmae); @Insert("insert into tb_user values(null,#{username},#{password})") void add(User user);}
pojo(实体类)
package com.itheima.pojo;public class User { private Integer id; private String username; private String password; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User{" + "id=" + id + ", username='" + username + '\'' + ", password='" + password + '\'' + '}'; }}
3.util(工具类)
package com.itheima.util;import org.apache.ibatis.io.Resources;import org.apache.ibatis.session.sqlSessionFactory;import org.apache.ibatis.session.SqlSessionFactoryBuilder;import java.io.IOException;import java.io.InputStream;public class SqlSessionFactoryUtils { private static SqlSessionFactory sqlSessionFactory; static { String resource = "mybatis-config.xml"; InputStream inputStream = null; try { inputStream = Resources.getResourceAsStream(resource); } catch (IOException e) { e.printStackTrace(); } sqlSessionFactory = new SqlSessionFactoryBuilder().build(inputStream); } public static SqlSessionFactory getSqlSessionFactory() { return sqlSessionFactory; }}
4.WEB(Servlet)
1.loginServlet
package com.itheima.web;import com.itheima.mapper.UserMapper;import com.itheima.pojo.User;import com.itheima.util.SqlSessionFactoryUtils;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 javax.servlet.*;import javax.servlet.Http.*;import javax.servlet.annotation.*;import java.io.IOException;import java.io.InputStream;import java.io.PrintWriter;@WebServlet("/loginServlet")public class loginServlet extends httpservlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1.接收用户名和密码 String username = request.getParameter("username"); String password = request.getParameter("password"); //2. 调用Mybatis完成查询 SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory(); //2.2获取SqlSession对象 SqlSession sqlSession =sqlSessionFactory.openSession(); //2.3获取Mapper UserMapper userMapper = sqlSession.getMapper(UserMapper.class); //2.4 调用方法 User user = userMapper.select(username, password); //2.5释放资源 sqlSession.close(); // 获取相对应的输出流 并设置content response.setContentType("text/html;charset=utf-8"); PrintWriter writer = response.getWriter(); //3.判断user是否为null if (user!=null){ //登陆成功 writer.write("登陆成功"); } else { //登陆失败 writer.write("登陆失败"); } } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); }}
2.reGISterServlet
package com.itheima.web;import com.itheima.mapper.UserMapper;import com.itheima.pojo.User;import com.itheima.util.SqlSessionFactoryUtils;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 javax.servlet.*;import javax.servlet.http.*;import javax.servlet.annotation.*;import java.io.IOException;import java.io.InputStream;@WebServlet("/registerServlet")public class registerServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //1.接受用户数据 String username = request.getParameter("username"); String password = request.getParameter("password"); // 封装用户对象 User user = new User(); user.setUsername(username); user.setPassword(password); // 调用Mapper,根据用户名来查询是否 SqlSessionFactory sqlSessionFactory = SqlSessionFactoryUtils.getSqlSessionFactory(); //2.2获取SqlSession对象 SqlSession sqlSession =sqlSessionFactory.openSession(); //2.3获取Mapper UserMapper userMapper = sqlSession.getMapper(UserMapper.class); //2.4 调用方法 User u = userMapper.selectByUsername(username); if (u == null){ // 用户名不存在 userMapper.add(user); // 提交事务 sqlSession.commit(); response.setContentType("text/html;charset=utf-8"); response.getWriter().write("注册成功"); } else{ // 用户名不存在 response.setContentType("text/html;charset=utf-8"); response.getWriter().write("用户已存在,注册失败"); } // 释放资源 sqlSession.close(); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); }}
5.html
1.login.html
login 来源地址:https://blog.csdn.net/m0_64238843/article/details/129600091
--结束END--
本文标题: Java-Web前后端交互实现登陆注册(附源码)
本文链接: https://www.lsjlt.com/news/422517.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-04-01
2024-04-03
2024-04-03
2024-01-21
2024-01-21
2024-01-21
2024-01-21
2023-12-23
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0