java web课设

2022/1/11 14:04:14

本文主要是介绍java web课设,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、项目简介

功能描述:实现登录注册功能,用户登录后可以进行修改自身的

参考git地址或博客地址:https://gitee.com/wray-muggle/java-email

个人负责任务:servlet,jsp

团队博客链接: http://106.55.180.124:7788/index.php/2022/01/11/javaemail%e5%9b%a2%e9%98%9f%e5%8d%9a%e5%ae%a2/

二、功能架构图

 

三、个人任务简述

主要负责servlet编写以及jsp编写页面。

1. 完成的任务与功能

简单描述将自己完成的有特色的地方、重难点地方。

序号

完成功能与任务

描述

1

页面设计

使用JSP,CSS, Java script,jquery技术对页面进行设计,并与servlet进行连接,同时使用freme框架进行布局使得界面更加美化。

2

面向对象设计

使用了面向对象技术设计系统。

3

Java Servlet

使用 Servlet,收集来自网页表单的用户输入,呈现来自数据库或者其他源的记录,还可以动态创建网页。

4

验证码

随机生成数字,并使用Graphics2D生成图片显示在页面上。

四、本人负责功能详解

1. *页面设计

 

 使用JSP,CSS, Java script,jquery技术对页面进行设计,并与servlet进行连接,同时使用freme框架进行布局使得界面更加美化。

2. *Servlet

 

使用Servlet进行数据传输,将前端和后端进行连接。

遇到的问题:请求跳转方法

1)response.sendRedirect(url)-----重定向到指定URL

   request.getRequestDispatcher(url).forward(request,response) -----请求转发到指定URL

(2)response.sendRedirect(url)-----是客户端跳转

request.getRequestDispatcher(url).forward(request,response) -----是服务器端跳转

3. *面向对象设计

在设计jsp和servlet使用面对对象设计,将类和包以面向对象的角度进行设计,尽可能的表现了封装性,继承性,多态性。

4.验证码

随机生成数字,并使用Graphics2D生成图片显示在页面上。

public static String getVerifyCode(int width,int height,OutputStream out) throws IOException{
		char[] chars = { '2', '3', '4', '5', '6', '7', '8', '9',
				'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
				'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
		Random random = new Random();
		StringBuilder codeText = new StringBuilder();
		/**
		 * 验证码个数
		 */
		Integer num=4;

		for (int i = 0; i < num; i++) {
			codeText.append(chars[random.nextInt(chars.length)]);//随机生成数加入codetext中
		}
		Color color = new Color(random.nextInt(255), random.nextInt(255), random.nextInt(255));//随机生成RGB值
		Color reverse = new Color(255 - color.getRed(), 255 - color.getGreen(), 255 - color.getBlue());//生成与RGB相反的RGB值
		BufferedImage bi = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);//构造Image
		Graphics2D g = bi.createGraphics();//构造Graph
		g.setFont(new Font(Font.SANS_SERIF, Font.BOLD, 25));//设置字体
		g.setColor(color);//设置画笔颜色
		g.fillRect(0, 0, width, height);//画背景
		g.setColor(reverse);//设置画笔颜色
		g.drawString(codeText.toString(), 10, 26);//画字
		Integer bound =80;
		for (int i = 0, n = random.nextInt(bound); i < n; i++) {
			g.drawRect(random.nextInt(width), random.nextInt(height), 1, 1);//随机画矩形
		}
		ImageIO.write(bi, "JPEG", out);//输出图片
		return codeText.toString();//输出验证码
	}

五、课程设计感想

在jsp编写注销用户功能中使用freme框架时会遇到嵌套死循环,需要将当前session清空后才能重新进入login界面。

六、展望

可写两部分内容:

1. 界面不够美观,功能不够全面。

2.进一步学习jsp技术,将页面进行美化,增加管理员功能、重构项目代码。



这篇关于java web课设的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程