个人作品-动漫网站

1.1 用户/管理员登录注册

网页用于注册,输入http://localhost:8080/ecywz/login.html进入用户注册模块,右上角有5个按钮,点击更换动态背景,如图5-1;输入手机号,并过去验证码,有个手机号不正确,会返回输入放不是手机号。在成功获取手机号并发送的时候,发送验证码的按钮会进入60秒倒计时并且禁用,验证码会存入临时验证码数据库,包括创建时间和对应手机号,如图5-2,如果在获取后更换手机号,输入的验证码无效,会返回手机号错误,验证码同理。

图 5-1 网页注册

 

图 5-2 验证码倒计时

登录和注册模块类似,点击下面两个字体即可,管理员在右上角切换,有两个一个是管理员注册,一个是管理员登录,注册是为了方便老板注册新管理员而设置的,管理员只能进入登录模块,如图5-3所示:

图5-3 网页登录

1.2 主页模块

主页模块是二次元系统的主心骨,它是让二次元系统的主要部分,主页的内容是用iframe小模块组成的,而里面的内容是js根据sql传回来的商量,进行for循环直接创造元素,数量是30,但由于资源不好找,无法找到30个动漫,而且一个动漫有5到20个视频,只能演示3个如图5-4所示:

图 5-4 主页

里面的分类按钮也是会根据传回来的数量进行无限创建,同时增加主页的长度,与刚刚进入不同,主页只能容纳30个,整体使用的是透明风格,可以让画面更加好看和整洁,点击搜索会出现搜索模块,左上角也会显示搜索的内容,同意是无线创建。如图5-5所示:

图5-5 搜索功能

如果搜索的内容不在资源库目录里,会返回查无结果,如图5-6所示:

图 5-6 搜索无的反馈

在点击动漫的图片或者文字的时候,会进入播放模块,省去了介绍的模块,这个参考了哔哩哔哩的处理方式,让繁琐的步骤减少,在视频的右侧是更换视频的按钮,这个会根据动漫的最新集数创建都是的按钮,同时显示现在多少集和最新多少集,如图5-7、5-8所示:

图5-7 播放模块1

图5-8 播放模块2

1.3 个人模块

个人模块是点击主页的头像和名字进入的,如果没有登录,主页上不会有头像和名字,只有登录和注册;在进入个人模块后可以查看信息,手机号,头像等等,如图5-9、5-10所示:

图5-9 主页

图 5-10 个人模块

因为头像有严格要求,想要比例为1:1不然会显示错误,左边的图片剪切就有了很大作用,进去后点击左边的上传按钮,在点击右边的1:1,然后进行下载,原本想在点击更换头像后自动进入,并且把剪辑后的图片上传到数据库,但是弄不出来,只能退而求其次。如图5-11所示:

图5-11 图片剪切


部分代码:

//60秒倒计时
var countdownHandler = function(){
		var $button = $(".code-b");
		var number = 60;
		var countdown = function(){
			if (number == 0) {
				$button.attr("disabled",false);
				$button.html("发送验证码");
	            number = 60;
	            return;
	        } else {
	        	$button.attr("disabled",true);
	        	$button.html(number + "秒 重新发送");
	        	number--;
	        }
			setTimeout(countdown,1000);
		};
		setTimeout(countdown,1000);
	}
package Dao;



import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javaBean.jcxxbean;

import dbConnection.dbConnection;

public class yzmdao {
	Connection conn = null;// 塞在外面 全局
	PreparedStatement pre = null;
	ResultSet rs=null;
	// 验证码判断
	public int insertyzm(jcxxbean u) throws SQLException {

		
		int insert=0;
		try {
		conn = dbConnection.getConnection();
		String sql2="select * from yzm where 手机='"+u.getSj()+"'";
		 pre = conn.prepareStatement(sql2);
		if(pre.executeQuery().next()){
			System.out.println(pre.executeQuery().next());
			 String sql3="update yzm set 验证码='"+u.getCode()+"' , 创建时间='"+u.getCreateTime()+"' where 手机='"+u.getSj()+"'";
			 pre = conn.prepareStatement(sql3);
			 int m=pre.executeUpdate();
			 System.out.println("zw2");
			 if(m>0){
				 System.out.println("zw3");
	        	 insert=1;
			 }
			 }else{
			System.out.println(pre.executeQuery().next());
				 String sql = "insert into yzm (验证码,手机,创建时间)values(?,?,?)";
					
				 pre = conn.prepareStatement(sql);
				 pre.setString(1,u.getCode());
		         pre.setString(2, u.getSj());
		         pre.setLong(3, u.getCreateTime());
		         int i = pre.executeUpdate();
		         System.out.println("zw4");
		         if(i>0){
		        	 System.out.println("zw5");
		        	 insert=1;
		         }
				 
				
			 }
		
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		finally {
            try {
                dbConnection.dbClose(conn, pre, null);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
		return insert;
	}
	//验证码删除
	public int yzmdate(jcxxbean x) throws SQLException {
		int yzmdate=0;
		try {
			conn = dbConnection.getConnection();
			String sql="delete from yzm where 手机='"+x.getSj()+"'";
			pre = conn.prepareStatement(sql);
			 int m=pre.executeUpdate();
			 if(m>0){
	        	 yzmdate=1;
			 }
		}catch(Exception e) {
			e.printStackTrace();
		}
		finally {
            try {
                dbConnection.dbClose(conn, pre, null);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
		return yzmdate;
	}
	//验证码获取
	public List<jcxxbean> yzmpd(String sjh){
		List<jcxxbean> list=new ArrayList<jcxxbean>();
		jcxxbean jcbn;
		try {
		    conn=dbConnection.getConnection();
			
			String sql="select * from yzm where 手机='"+sjh+"'";
			pre=conn.prepareStatement(sql);
			rs=pre.executeQuery();
			while(rs.next()){
				jcbn=new jcxxbean();
				jcbn.setSj(rs.getString("手机"));
				jcbn.setCode(rs.getString("验证码"));
				jcbn.setCreateTime(rs.getLong("创建时间"));
				list.add(jcbn);
				
			}
			
		
		}
		catch (Exception g) {
			g.printStackTrace();
			
		}
		finally {
            try {
                dbConnection.dbClose(conn, pre, null);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
		return list;
	}
	
	
	
}

总结:功能许多尚未开发,安全性并不完善,

若有大佬看到希望回答我的几个疑惑:

1、在播放视频的时候,发现chome支持部分音频和视频,而有的视频格式支持,音频不正常,导致播放没有声音,有什么解决方法吗

2、在上传图片的时候发现上传到数据库一个图片,存储太大,所以选择上传图片的相对地址,但是在java中下载到的是猫这个文件夹的里面,不好提取,有什么好的解决方法吗

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值