Bootstrap+web+Idea实现登录页面(含验证码)

本文介绍了如何结合Bootstrap、自定义CSS样式以及Java实现一个包含验证码功能的登录页面。首先,概述了Bootstrap的基本学习资源和环境下载。接着,详细说明了验证码的实现过程,包括Java类MakeCertPic.java的使用以及配置文件和国际化标签的设置。在jsp页面中,引入了c和fmt标签库以支持动态语言切换。最后展示了登录页面的最终效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、有关bootstrap的学习这边就不讲了,不会的请参考http://www.runoob.com/bootstrap/bootstrap-tutorial.html

2、bootstrap的环境下载:http://www.bootcss.com

     

      style.css(自己设置的css样式)

html {
	background: url("../../assets/img/windows-10.jpg") no-repeat center center fixed;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
}

body {
	padding-top: 20px;
	font-size: 14px;
	background: transparent;
	height:300px;
	overflow:auto
}

h1 {
	font-weight: 400;
	font-size: 25px;
}


.panel {
	background-color: rgba(255, 255, 255, 0.1);
	align:center;
	padding-top: 20px;
}


/* footer start */
#footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	/* Set the fixed height of the footer here */
	height: auto;
	text-align: center;
}

.container {
	width: auto;
	max-width: auto;
	padding: 80px 15px;
	position: relative; 
	overflow: center;
}

.center-vertical {
    position:relative;
    /* top:50%;
    transform:translateY(-0px); */
    -ms-transform: rotate(0deg); /* IE 9 */
	-moz-transform: rotate(0deg); /* Firefox */
	-webkit-transform: rotate(0deg); /* Safari 和 Chrome */
	-o-transform: rotate(0deg); /* Opera */
}
img图片



3、验证码的实现(通过一个类,把生成的数字转换成图片)

      MakeCertPic.java

package cn.voicecodes.makecertpic;

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;

/**
 * 生成验证码图片
 */
public class MakeCertPic {
	private static final Color Color = null;
	private char mapTable[] = { 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
			'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v',
			'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8',
			'9',  };


	/**
	 * 功能:生成彩色验证码图片 参数width为生成图片的宽度,参数height为生成图片的高度,参数os为页面的输出流
	 */

	public String getCerPic(int width, int height, OutputStream os) {
		if (width < 60) {
			width = 60;
		}
		if (height <= 0) {
			height = 20;
		}
		BufferedImage image = new BufferedImage(width, height,
				BufferedImage.TYPE_3BYTE_BGR);
		// 获取图形上下文
		Graphics graphics = image.getGraphics();
		// 设定背景颜色
		graphics.setColor(new Color(0xDCDCDC));
		graphics.fillRect(0, 0, width, height);
		// 边框
		graphics.setColor(Color.black);
		graphics.drawRect(0, 0, width - 1, height - 1);
		// 随机产生验证码
		String strEnsure = "";
		// 4代表4位验证码
		for (int i = 1; i <= 4; i++) {
			strEnsure += mapTable[(int) (mapTable.length * Math.random())];
		}
		// 将图形验证码显示在图片中
		graphics.setColor(Color.black);
		graphics.setFont(new Font("Atlantic Inline", Font.PLAIN, 20));
		String str = strEnsure.substring(0, 1);
		graphics.drawString(str
在IntelliJ IDEA中创建一个管理员登录页面并连接MySQL数据库通常包括以下几个步骤: 1. **项目设置**: - 创建一个新的Web应用项目,选择Maven或Gradle作为构建工具。 2. **前端页面设计**: - 使用HTML、CSS和JavaScript创建登录界面,包用户名输入框、密码输入框、登录按钮等元素。 ```html <!-- index.html --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Admin Login</title> <!-- 引入Bootstrap或其他样式库,提升页面美观 --> <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.0/css/bootstrap.min.css"> </head> <body> <div class="container mt-5"> <h2 class="text-center">管理员登录</h2> <form id="loginForm"> <div class="mb-3"> <label for="username" class="form-label">用户名</label> <input type="text" class="form-control" id="username" name="username"> </div> <div class="mb-3"> <label for="password" class="form-label">密码</label> <input type="password" class="form-control" id="password" name="password"> </div> <button type="submit" class="btn btn-primary me-2">登录</button> <a href="#" class="btn btn-secondary">忘记密码?</a> </form> </div> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> // JavaScript用于前端验证或异步提交数据 </script> </body> </html> ``` 3. **后端逻辑(Spring MVC或JSR 303+Hibernate)**: - 在`src/main/java`目录下创建`LoginController.java`,处理表单提交和数据库查询。 ```java // LoginController.java (简化示例) import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @Controller public class LoginController { @GetMapping("/login") public String showLoginForm(Model model) { return "login"; // 返回登录页面模板 } @PostMapping("/login") public String login(@RequestParam("username") String username, @RequestParam("password") String password) { try { // 连接数据库,检查用户名和密码是否匹配 if (authenticate(username, password)) { return "redirect:/admin/dashboard"; // 登录成功跳转到管理面板 } else { // 登录失败处理 return "redirect:/login?error=true"; } } catch (Exception e) { // 数据库连接错误处理 return "redirect:/login?error=connection"; } } private boolean authenticate(String username, String password) { // 在这里添加数据库查询逻辑,查询username和password对应的信息 // 如果找到则返回true,否则false } } ``` 4. **数据库配置**: - 配置Spring Data JPA或MyBatis来连接MySQL。在application.properties文件中添加数据库连接信息。 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/mydb spring.datasource.username=root spring.datasource.password=password spring.jpa.hibernate.ddl-auto=update ``` 5. **部署运行**: - 将项目打包成war包,然后在IDEA中部署到Tomcat或者其他支持的服务器上。 以上是一个简单的示例,实际开发中还需要考虑安全性、错误处理、验证码等因素,并对敏感信息进行加密存储。如果你有其他关于特定环节的问题,可以继续提问。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值