当前位置: 首页 > news >正文

网站建设与管理用什么软件仿站小工具怎么用

网站建设与管理用什么软件,仿站小工具怎么用,免费个人网站建设大全,网页设计如何设置字体在现代Web应用程序开发中,用户登录功能是基础中的基础。它为用户提供了安全访问系统的途径。本篇博客将引导您通过使用Servlet、Spring框架的JdbcTemplate以及Durid连接池,来构建一个完整的用户登录功能。我们将详细展示每个部分的代码,并解释…

在现代Web应用程序开发中,用户登录功能是基础中的基础。它为用户提供了安全访问系统的途径。本篇博客将引导您通过使用Servlet、Spring框架的JdbcTemplate以及Durid连接池,来构建一个完整的用户登录功能。我们将详细展示每个部分的代码,并解释其作用和功能。

数据库和数据模型

首先,我们需要创建一个数据库表来存储用户信息。我们创建了一个名为user的表,用于存储用户的登录信息,每个用户有一个唯一的ID、用户名和密码。为了与数据库中的用户数据建立映射,我们创建了一个Java类User,其中包含了idusernamepassword属性。

public class User {private int id;private String username;private String password;// 省略构造方法、getter和setter
}

数据库访问层

我们使用Spring框架的JdbcTemplate来处理与数据库的交互。在UserDao类中,我们封装了登录逻辑。它通过SQL语句检索用户名和密码,然后使用BeanPropertyRowMapper将数据库结果映射到User对象。

public class UserDao {private JdbcTemplate jdbcTemplate = new JdbcTemplate(JDBCUtils.getDataSource());public User login(User loginUser) {try {String sql = "SELECT * FROM user WHERE username=? AND password=?";User user = jdbcTemplate.queryForObject(sql,new BeanPropertyRowMapper<>(User.class),loginUser.getUsername(),loginUser.getPassword());return user;} catch (DataAccessException e) {e.printStackTrace();return null;}}
}

使用Durid连接池

Durid是一个强大的数据库连接池,可以提升数据库连接的性能和管理。在JDBCUtils类中,我们初始化了Durid连接池。这样,我们可以通过getDataSource方法获取连接池对象,以及通过getConnections方法获取数据库连接。

public class JDBCUtils {private static DataSource dataSource;static {try {Properties properties = new Properties();InputStream inputStream = JDBCUtils.class.getClassLoader().getResourceAsStream("druid.properties");properties.load(inputStream);dataSource = DruidDataSourceFactory.createDataSource(properties);} catch (IOException | Exception e) {e.printStackTrace();}}// 省略其他方法
}

Servlet处理用户登录请求

Servlet是处理HTTP请求的核心组件。以下是一个处理用户登录请求的LoginServlet示例。在这里,我们从请求中获取用户名和密码,并调用UserDao中的login方法来验证用户身份。

@WebServlet("/loginServlet")
public class LoginServlet extends HttpServlet {protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {request.setCharacterEncoding("UTF-8");Map<String, String[]> map = request.getParameterMap();User loginUser = new User();try {BeanUtils.populate(loginUser, map);} catch (IllegalAccessException | InvocationTargetException e) {throw new RuntimeException(e);}UserDao dao = new UserDao();User user = dao.login(loginUser);if (user != null) {request.getSession().setAttribute("user", user);request.getRequestDispatcher("/successServlet").forward(request, response);} else {request.getRequestDispatcher("/failServlet").forward(request, response);}}
}

显示登录失败和成功信息

为了向用户提供友好的反馈,我们创建了FailServletSuccessServlet。在登录失败时,FailServlet将显示登录失败的消息。在登录成功时,SuccessServlet将显示欢迎消息,并向用户展示其用户名。

@WebServlet("/failServlet")
public class FailServlet extends HttpServlet {// ... (之前的代码)
}@WebServlet("/successServlet")
public class SuccessServlet extends HttpServlet {// ... (之前的代码)
}

编写测试用例

为了确保代码的正确性,我们编写了测试用例。UserDaoTest类测试了UserDao中的登录功能。BeanUtilsTest类测试了BeanUtils库的功能。通过JUnit进行单元测试,我们可以验证代码的正确性和预期行为。

public class UserDaoTest {@Testpublic void testLogin() {User loginuser = new User();loginuser.setUsername("Brenda Butler");loginuser.setPassword("Z3CSAFZDp7");UserDao dao = new UserDao();User user = dao.login(loginuser);System.out.println(user);}
}public class BeanUtilsTest {@Testpublic void test() {User user = new User();try {BeanUtils.setProperty(user, "username", "Ishida Rin");} catch (IllegalAccessException | InvocationTargetException e) {throw new RuntimeException(e);}System.out.println(user);}
}

创建用户登录页面

最后,我们创建了一个用户登录页面,让用户输入用户名和密码。通过表单提交数据,我们可以将用户的登录请求发送到LoginServlet来进行验证。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>User Login</title>
</head>
<body><h2>User Login</h2><form action="loginServlet" method="post">用户名:<input type="text" name="username"> <br>密码:<input type="password" name="password"> <br><input type="submit" value="登录"></form>
</body>
</html>

总结与展望

通过本篇博客,我们深入地探讨了使用Servlet、JdbcTemplate和Durid连接池来实现用户登录功能。我们从数据库建模、数据访问层、Servlet处理、前端页面创建、编写测试用例等多个方面详细介绍了实现过程。通过这个实例,您已经具备了构建更复杂Web应用的基础知识。

当然,实际项目中的登录功能可能需要考虑更多的安全性、验证、错误处理等。此外,我们还可以进一步优化代码、提高用户体验、加入验证码等功能。希望您能将这个示例作为一个起点,不断探索和学习,将知识应用到实际开发中。

通过这篇博客,您学会了如何使用Servlet、JdbcTemplate和Durid连接池来实现一个完整的用户登录功能,并通过测试用例验证代码的正确性。如果您还有疑问或需要进一步的帮助,欢迎随时提问。祝您在Web应用开发中取得成功!

http://www.yayakq.cn/news/23104/

相关文章:

  • 类似凡科建站的网站视网站亏损了为什么还做
  • 成都企业网站商城定制来几个好看的网站
  • 效果图案例网站淄博周村学校网站建设定制
  • 计算机网站建设是什么意思一个云主机 多个网站
  • 深圳罗湖网站建设公司哪家好百度seo关键词优化市场
  • 什么是企业营销型网站?公司网站建设怎么协调内容与保密
  • 湖北省住建厅网站官网做个网站好还是做淘宝好
  • 注册网站会员需要填写信息做群头像的网站在线制作
  • 网站 防 恶意注册韶关网站建设公司
  • 免费网站建站凡科建站全国各大网站
  • 鼎维重庆网站建设专家网站开发是哪个职位
  • 做网站可以申请国家补助吗在线制作动画的网站
  • 深圳住房建设局官方网站移动端的网站怎么做
  • 网站建设分期收费客户资源买卖平台
  • 电商网站如何做多语言架构html5设计
  • WordPress网站远程访问河北网站建设联系电话
  • 建站网站都用不了的google play下载安装
  • 怎么建设一个自己的网站网站导流应该怎么做
  • 网站建设与运营的预算方案博客网站开发框架
  • 驻马店市住房和城乡建设局网站首页什么网站可以自己接工程做预算
  • 网站响应式好吗wordpress前端页面不显示
  • 电影网站源码access杭州app开发公司普悦科技
  • 郑州上海做网站的公司有哪些墓地网站建设价格
  • 做酒类网站wordpress 写文章函数
  • 19楼网站模板天津网站制作工具
  • 太仓建设银行网站我爱云主机
  • 郑州建网站多少广州市信息技术职业学校
  • 哪里有网站开发公司企业网站 设计需求
  • wordpress 百度编辑器wordpress优化0sql
  • 怎样做网站二维码免费建设淘客网站