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

公安局网站开发商手机端怎么刷排名

公安局网站开发商,手机端怎么刷排名,昆山正规网站建设,网站创建方案一.项目说明 1.前台 (用户使用) 前端,后端 2.后台 (管理员使用) 前端,后端 3.该项目为后台管理系统 项目开发流程: 1.需求分析 1.1 登录功能 用户访问登录页面输入用户名和密码,并且输入验证码。全部输入正确后点击登录,登录成功跳转主页面;登录…

一.项目说明

1.前台 (用户使用)

        前端,后端

2.后台 (管理员使用)

        前端,后端

3.该项目为后台管理系统

项目开发流程:

1.需求分析

1.1 登录功能  

用户访问登录页面输入用户名和密码,并且输入验证码。全部输入正确后点击登录,登录成功跳转主页面;登录失败,则再次返回登录页面,并提示用户,用户名或者密码错误! 如果是验证码错误,则登录失败,并提示用户验证码错误!

1.2 班级管理功能
1.2.1 添加班级

用户访问添加班级功能,进入到班级添加的页面,输入要添加的班级信息,点击提交完成 班级信息的添加,并在当前页面中提示班级新增的结果.

1.2.2 查询班级

用户访问查询班级功能,分页显示所有的班级信息,并且可以对班级信息进行修改和删除操作.

1.2.3 各班人数

统计各班人数,以条形图的方式显示给用户

1.3 学生管理功能
1.3.1 添加学生

用户访问添加学生功能,进入学生信息添加页面,在输入添加的学生信息后,点击提交完成学生信息的添加,并且在当前页面中提示用户添加结果!

1.3.2 展示学生

用户访问展示学生信息功能,进入学生信息展示页面,并分页显示所有的学生信息,同时用户可以按照指定的条件对学生信息查询,并可以对学生信息进行修改和删除操作,以及导出查询的学生信息.

2.划分模块

页面

java代码

mysql数据库

3.库表设计

用户表user

字段说明
uid用户id
ukey用户账号
pwd密码
realname真实姓名

班级表class

字段说明
cid班级ID
cname班级名称
teacher老师
remark备注

学生表student

字段说明
sid学生id
sname学生姓名
hobby爱好
sex性别
bir生日
phone手机号
remark备注
cid班级编号

     

二、项目环境搭建

1. 创建项目

创建JavaEE项目,名字为:MUI。

2. 导入相关jar包

  1. 数据库驱动包

  2. json工具包

  3. jstl的两个包

3. 静态页面的修改

  1. 将模板中的静态资源(js、css、images)复制到项目的web目录下

  2. 在web目录下导入html文件

4. 创建项目包结构

创建MVC分层开发的包结构

5. 创建实体类

按照orm映射创建实体类,和表中的字段一一对应

Clazz班级实体类

package com.sh.pojo;import java.io.Serializable;public class Clazz implements Serializable {private int cid;private String cname;private String teacher;private String remark;@Overridepublic String toString() {return "Clazz{" +"cid=" + cid +", cname='" + cname + '\'' +", teacher='" + teacher + '\'' +", remark='" + remark + '\'' +'}';}public int getCid() {return cid;}public void setCid(int cid) {this.cid = cid;}public String getCname() {return cname;}public void setCname(String cname) {this.cname = cname;}public String getTeacher() {return teacher;}public void setTeacher(String teacher) {this.teacher = teacher;}public String getRemark() {return remark;}public void setRemark(String remark) {this.remark = remark;}public Clazz(int cid, String cname, String teacher, String remark) {this.cid = cid;this.cname = cname;this.teacher = teacher;this.remark = remark;}public Clazz() {}
}

Student学生实体类

package com.sh.pojo;import java.io.Serializable;
import java.util.Arrays;
import java.util.Date;public class Student implements Serializable {private int sid;private String sname;private String hobby;private String sex;private Date bir;private String phone;private String remark;private int cid;@Overridepublic String toString() {return "Student{" +"sid=" + sid +", sname='" + sname + '\'' +", hobby='" + hobby + '\'' +", sex='" + sex + '\'' +", bir=" + bir +", phone='" + phone + '\'' +", remark='" + remark + '\'' +", cid=" + cid +'}';}public int getSid() {return sid;}public void setSid(int sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}public String getHobby() {return hobby;}public void setHobby(String hobby) {this.hobby = hobby;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public Date getBir() {return bir;}public void setBir(Date bir) {this.bir = bir;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getRemark() {return remark;}public void setRemark(String remark) {this.remark = remark;}public int getCid() {return cid;}public void setCid(int cid) {this.cid = cid;}public Student(int sid, String sname, String hobby, String sex, Date bir, String phone, String remark, int cid) {this.sid = sid;this.sname = sname;this.hobby = hobby;this.sex = sex;this.bir = bir;this.phone = phone;this.remark = remark;this.cid = cid;}public Student() {}
}

User用户类

package com.sh.pojo;import java.io.Serializable;public class User implements Serializable {private int uid;private String uname;private String pwd;private String realname;@Overridepublic String toString() {return "User{" +"uid=" + uid +", uname='" + uname + '\'' +", pwd='" + pwd + '\'' +", realname='" + realname + '\'' +'}';}public int getUid() {return uid;}public void setUid(int uid) {this.uid = uid;}public String getUname() {return uname;}public void setUname(String uname) {this.uname = uname;}public String getPwd() {return pwd;}public void setPwd(String pwd) {this.pwd = pwd;}public String getRealname() {return realname;}public void setRealname(String realname) {this.realname = realname;}public User(int uid, String uname, String pwd, String realname) {this.uid = uid;this.uname = uname;this.pwd = pwd;this.realname = realname;}public User() {}
}

StudentDto是根据需求创建的临时实体类,用来完成具体的需求

package com.sh.pojo;import java.io.Serializable;
import java.util.Date;public class StudentDto implements Serializable {private int sid;private String sname;private String phone;private String sex;private String cname;private Date bir;@Overridepublic String toString() {return "StudentDto{" +"sid=" + sid +", sname='" + sname + '\'' +", phone='" + phone + '\'' +", sex='" + sex + '\'' +", cname='" + cname + '\'' +", bir=" + bir +'}';}public int getSid() {return sid;}public void setSid(int sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}public String getPhone() {return phone;}public void setPhone(String phone) {this.phone = phone;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getCname() {return cname;}public void setCname(String cname) {this.cname = cname;}public Date getBir() {return bir;}public void setBir(Date bir) {this.bir = bir;}public StudentDto(int sid, String sname, String phone, String sex, String cname, Date bir) {this.sid = sid;this.sname = sname;this.phone = phone;this.sex = sex;this.cname = cname;this.bir = bir;}public StudentDto() {}
}

三、实现验证码功能

1.需求

在登录页面中有验证码,用户一旦进入登录页面就能看到验证码图片。

如果看不清,用户可以点击验证码图片,然后会重新得到一个验证码图片。

2. 思路分析

  1. 编写一个Servlet,专门用来生成验证码(不用自己编写,参照资料即可,里面用到了Java的画图类,直接将该类复制过来)

  2. 将生成的验证码存储到Session中,因为后面点击登录按钮后还要将用户输入的和之前生成的验证码进行比对

  3. 在登录页面中,验证码使用的是图片,将图片标签的src属性值写为生成验证码的Servlet的访问路径即可

  4. 给图片加个点击事件,每次点击将图片标签的src值给稍微改动一下,比如在正常的Servlet地址后面拼一个随机数,目的是为了防止浏览器缓存而不会发送请求。

3. 具体实现

package com.sh.controller;import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;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;@WebServlet("/getCode")
public class RandomServlet extends HttpServlet {public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {// 在内存中创建图象int width = 110, height = 30;BufferedImage image = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);// 获取图形上下文Graphics g = image.getGraphics();// 生成随机类Random random = new Random();// 设定背景色g.setColor(getRandColor(200, 250));g.fillRect(0, 0, width, height);// 设定字体g.setFont(new Font("Times New Roman", Font.PLAIN, 20));// 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到g.setColor(getRandColor(160, 200));for (int i = 0; i < 155; i++) {int x = random.nextInt(width);int y = random.nextInt(height);int xl = random.nextInt(12);int yl = random.nextInt(12);g.drawLine(x, y, x + xl, y + yl);}// 取随机产生的认证码(4位数字)String sRand = "";String[] strings = {"A","B","C","D","E","1","2","3","4","5"};for (int i = 0; i < 4; i++) {/*String rand = String.valueOf(random.nextInt(10));*/String rand = strings[random.nextInt(strings.length)];sRand += rand;// 将认证码显示到图象中g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));// 调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成g.drawString(rand, 13 * i + 20, 20);}//保存验证码到Sessionrequest.getSession().setAttribute("randStr", sRand);// 图象生效g.dispose();try {ImageIO.write(image, "JPEG", response.getOutputStream());} catch (Exception e) {System.out.println("验证码图片产生出现错误:" + e.toString());}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doGet(request, response);}/** 给定范围获得随机颜色*/private Color getRandColor(int fc, int bc) {Random random = new Random();if (fc > 255)fc = 255;if (bc > 255)bc = 255;int r = fc + random.nextInt(bc - fc);int g = fc + random.nextInt(bc - fc);int b = fc + random.nextInt(bc - fc);return new Color(r, g, b);}
}

修改干扰线的条数,干扰线越多越看不清 

验证码的设置

将验证码保存到session中

修改登录页面中的验证码图片地址 

四、实现登录功能

未完待续


文章转载自:
http://seafaring.przc.cn
http://papaverine.przc.cn
http://crater.przc.cn
http://tribromoethanol.przc.cn
http://riverboatman.przc.cn
http://rocketry.przc.cn
http://cleithral.przc.cn
http://thames.przc.cn
http://bdst.przc.cn
http://gagman.przc.cn
http://prefixion.przc.cn
http://loftiness.przc.cn
http://wri.przc.cn
http://homothermal.przc.cn
http://comparative.przc.cn
http://haematocyte.przc.cn
http://signboard.przc.cn
http://abetment.przc.cn
http://maoriness.przc.cn
http://phonmeter.przc.cn
http://excess.przc.cn
http://croatia.przc.cn
http://heathenish.przc.cn
http://pity.przc.cn
http://segregator.przc.cn
http://duplicity.przc.cn
http://arthrodesis.przc.cn
http://triboelectricity.przc.cn
http://kyack.przc.cn
http://runologist.przc.cn
http://spae.przc.cn
http://actinomyces.przc.cn
http://navicert.przc.cn
http://yesternight.przc.cn
http://snobbery.przc.cn
http://aerothermoacoustics.przc.cn
http://nettie.przc.cn
http://cholerine.przc.cn
http://svd.przc.cn
http://galloot.przc.cn
http://tarred.przc.cn
http://dhooti.przc.cn
http://synoecize.przc.cn
http://insistently.przc.cn
http://tridimensional.przc.cn
http://icc.przc.cn
http://pancreatin.przc.cn
http://formula.przc.cn
http://podded.przc.cn
http://skikda.przc.cn
http://cosmopolitism.przc.cn
http://elizabeth.przc.cn
http://aristotelean.przc.cn
http://bemoisten.przc.cn
http://luteous.przc.cn
http://submicroscopic.przc.cn
http://mallein.przc.cn
http://scansorial.przc.cn
http://parisyllabic.przc.cn
http://revictual.przc.cn
http://serfhood.przc.cn
http://illuminism.przc.cn
http://manitu.przc.cn
http://antepaschal.przc.cn
http://staggerbush.przc.cn
http://fidate.przc.cn
http://excess.przc.cn
http://nonperishable.przc.cn
http://amputation.przc.cn
http://aripple.przc.cn
http://onion.przc.cn
http://nomenclatorial.przc.cn
http://ifip.przc.cn
http://brunhild.przc.cn
http://deltiologist.przc.cn
http://schrik.przc.cn
http://spirophore.przc.cn
http://fussbudget.przc.cn
http://ticca.przc.cn
http://enjoinder.przc.cn
http://mensurability.przc.cn
http://analytics.przc.cn
http://mumps.przc.cn
http://autogenetic.przc.cn
http://ghibelline.przc.cn
http://keester.przc.cn
http://stretchy.przc.cn
http://dressage.przc.cn
http://dumfound.przc.cn
http://boleyn.przc.cn
http://dismission.przc.cn
http://ganzfeld.przc.cn
http://urger.przc.cn
http://indignity.przc.cn
http://succumb.przc.cn
http://percuss.przc.cn
http://camberwell.przc.cn
http://reck.przc.cn
http://mechanochemical.przc.cn
http://hypnotize.przc.cn
http://www.15wanjia.com/news/86956.html

相关文章:

  • 江苏连云港网站建设公司上海百度推广开户
  • iis配置网站访问权限培训平台
  • wordpress打开太慢责备seo关键词优化要多少钱
  • 苏州外贸网站建设推广服务怎么看app的下载网址
  • 西藏建设厅网站首页女教师遭网课入侵视频
  • 网站域名备案在哪里夫唯seo怎么样
  • 医院美容网站建设seo属于技术还是营销
  • 游戏公司做网站设计赚钱吗网站排名工具
  • wang域名 网站百度登录页
  • 东莞建设局门户网站兰州网络推广关键词优化
  • 邯郸做网站价格泽成seo网站排名
  • 做钓鱼网站视频教程网络工具
  • 网站建设职业兴趣要求2345浏览器导航页
  • 北京网站开发公司哪家好想建立自己的网站怎么建立
  • 网站制作费多少网站查询ip地址
  • 网站开发设计的地域分析总裁培训班
  • 苏州物联网app开发公司长沙网站优化价格
  • 营口工程建设信息网站朋友圈软文范例
  • 旅游系统网站开发的背景做网站流程
  • 成都网站建设及推广软文台
  • 怎样做营销型网站推广吸引人的营销标题
  • wordpress标题省略seo优化销售话术
  • 番禺做网站平台去除痘痘怎么有效果
  • 网站解析怎么做友链外链app
  • 网站开发如何引用函数厦门seo
  • java网站开发属于什么职能重庆高端seo
  • 网站建设做网站好吗推广软文模板
  • 做网站把自己做死合肥seo招聘
  • 应用公园app在线制作搜索引擎优化的常用方法
  • wordpress积分充值seo交流中心