六天小项目使用技术:
- 旅游网前台用户界面,纯异步开发
使用技术:HTML+jQuery+Servlet+JdbcTemplate
- 旅游网后台管理,纯同步开发
使用技术:JSP+JSTL+EL+Servlet+JdbcTemplate
提供工具类MD5加密,验证码,已及前端页面,大部分只通过三层架构写后端代码:
MD5加密:
import java.math.BigInteger;
import java.security.MessageDigest;
public class Md5Utils {
/**
* 对给定的字符使用md5进行加密,返回加密以后的字符串
*
* @param origin
* @return
*/
public static String getMd5(String origin) {
// 1) 使用静态方法,创建MessageDigest对象
try {
MessageDigest md = MessageDigest.getInstance("MD5");
// 2) 将字符串使用utf-8进行编码,得到字节数组
byte[] input = origin.getBytes("utf-8");
// 3) 使用digest(input)对字节数组进行md5的哈希计算,得到加密以后的字节数组,长度是16个字节。
byte[] num = md.digest(input);
// 4) 使用类BigInteger(1, 加密后的字节数组),将这个二进制数组转成无符号的大整数
// 1 正数, -1表示负数
BigInteger big = new BigInteger(1, num);
// 5) 将这个大整数转成16进制字符串,参数为多少进制
return big.toString(16);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
public static void main(String[] args) {
System.out.println(getMd5("123"));
System.out.println(getMd5("abc"));
}
}
验证码
import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;
/**
* 创建一个验证码图片
*/
@WebServlet("/code")
public class PicCodeServlet extends HttpServlet {
private Random ran = new Random(); //随机类
//1) 写一个方法随机获取颜色
private Color getColor() {
//红,绿,蓝取值0-255,随机生成 0-255之间数
int r = ran.nextInt(256);
int g = ran.nextInt(256);
int b = ran.nextInt(256);
return new Color(r, g, b);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//2) 创建缓存图片:指定宽
int width = 90, height = 30;
//参数3:图片的类型,使用RGB类型
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
//3) 获取画笔对象
Graphics graphics = image.getGraphics();
//4) 设置画笔颜色,并且填充矩形区域
graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, width, height);
//创建一个StringBuider对象
StringBuilder sb = new StringBuilder();
//5) 从字符数组中随机得到字符
char[] arr = {'A', 'B', 'C', 'D', 'N', 'E'