笔记:

一、验证码

实现简单的验证码思路:假设验证码是四位由数字和英文字母组成

1.首先我们需要一个数组来装一下这个随机数(没有1和0是因为提高用户的体验性)

//下标:0-33var arr = new Array(2,3,4,5,6,7,8,9,'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');//所有候选组成验证码的字符,当然也可以用中文的

2.然后我们根据随机下标拿到对应的值在循环四次就可以拿到四位组成的验证码

var str = "";//用来拼接for(var i=0;i<4;i++){//随机数   无线逼近0-33 四舍五入var a = Math.round(Math.random()*33);//下标//console.info(arr[a]);//根据下标取元素str+=arr[a];}

3.最后给我们装验证码的容器赋值即可,我用的是sapn标签

//给span赋值$("#yzm").html(str);//innerHTML}

4.实现点击验证码就自动切换(给这个验证码的容器添加点击事件即可)

$(function(){myf();//给验证码添加点击事件$("#yzm").click(function(){myf();//刷新验证码})})

5.实现大小写功能就要把内容转为大写或者小写

判断两次验证码不一致的时候

        用什么点全大写或者全小写都可以   

 例如:  yzm1.toUpperCase()!=yzm2.toUpperCase()//全小写

//验证登录function yzLogin(){//依次获取用户名、密码、用户输入的验证码、随机产生的验证码   不能为空var name = $("#xx").val();var pwd = $("#yy").val();var yzm1 = $("#zz").val();var yzm2 = $("#yzm").html();if(name==""){alert("用户名不能为空");return false;}if(pwd==""){alert("密码不能为空");return false;}if(yzm1==""){alert("验证码不能为空");return false;}else{//单验证码不为空的情况下//作业1:要求验证码不区分大小写if(yzm1.toUpperCase()!=yzm2.toUpperCase()){//两次密码不一致的时候 显示alert("验证码不一致");myf();//刷新验证码$("#zz").val("");return false;}}return true;}

二、登录

要实现登录首先我们需要在数据库中必须有一个用户表来装用户名及密码

其次就要先在登录页面判断用户名和密码还有验证码是否正确

//这里只判断了不能为空
//验证登录function yzLogin(){//依次获取用户名、密码、用户输入的验证码、随机产生的验证码 不能为空var name = $("#xx").val();var pwd = $("#yy").val();var yzm1 = $("#zz").val();var yzm2 = $("#yzm").html();if(name==""){alert("用户名不能为空");return false;}if(pwd==""){alert("密码不能为空");return false;}if(yzm1==""){alert("验证码不能为空");return false;}else{//单验证码不为空的情况下//作业1:要求验证码不区分大小写if(yzm1.toUpperCase()!=yzm2.toUpperCase()){//两次密码不一致的时候 显示alert("验证码不一致");myf();//刷新验证码$("#zz").val("");return false;}}return true;}
<body><form action="dologin.jsp" method="post" onsubmit="return yzLogin()"><div id="login"><div id="top"><div id="top_left"><img src="data:images/login_03.gif" /></div><div id="top_center"></div></div><div id="center"><div id="center_left"></div><div id="center_middle"><div id="user">用 户<input type="text" name="aa" id="xx"/></div><div id="password">密   码<input type="password" name="bb" id="yy"/></div><div id="password">验证码<input style="width: 40px"; type="text" name="cc" id="zz"/>&nbsp;&nbsp;<span id="yzm" style="color: red;font-size: 25px;cursor: pointer;">XXXX</span></div><div id="btn"><!--<a href="#">登录</a><a href="#">清空</a>--><input type="submit" value="提交"/><input type="reset" value="清空"/></div></div><div id="center_right"></div>      </div><div id="down"><div id="down_left"><div id="inf"><span class="inf_text">版本信息</span><span class="copyright">管理信息系统 2008 v2.0</span></div></div><div id="down_center"></div>      </div></div></form>
</body>

若符合以上条件则跳到dologin页面进行判断数据库是否存在

只要有do的都是纯java代码保留上面一段就把下面的全干掉在加上<%%>

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%//设置编码方式request.setCharacterEncoding("utf-8");//接收表单提交过来的值:用户名、密码 根据name值取value值String name = request.getParameter("aa");String pwd = request.getParameter("bb");//jdbc连接Oracle做判断String URL="jdbc:oracle:thin:@localhost:1521:orcl";String CNAME="oracle.jdbc.driver.OracleDriver";//加载驱动Class.forName(CNAME);//创建连接Connection con=DriverManager.getConnection(URL, "scott", "tiger");//定义sql语句String sql="select * from tb_0325 where sname=? and spwd=?";//获取执行对象PreparedStatement ps=con.prepareStatement(sql);//给占位符赋值ps.setString(1, name);ps.setString(2, pwd);//开始执行ResultSet rs=ps.executeQuery();//判断 遍历if(rs.next()){//说明登录成功 跳转到新闻发布系统的管理员界面//重定向//response.sendRedirect("news/admin.jsp");//转发request.getRequestDispatcher("news/admin.jsp").forward(request, response);}else{//说明登录失败out.print("<script>alert('用户名或者密码有误');location.href='login.jsp';</script>");}//关闭资源if(con!=null&&!con.isClosed()){con.close();}if(ps!=null){ps.close();}if(rs!=null){rs.close();}%>

三、新闻增加

以上都可以通过就可以进入到下一界面新闻发布系统页面

 点击增加新闻可以进入增加页面(需要给a变迁添加href)

在写一个页面来接收增加页面传过来的值

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%>
<%//设置编码方式request.setCharacterEncoding("utf-8");//接收表单提交过来的值String ntid=request.getParameter("ntid");String ntitle=request.getParameter("ntitle");String nauthor=request.getParameter("nauthor");String nsummary=request.getParameter("nsummary");String ncontent=request.getParameter("ncontent");String naddtime=new Date().toLocaleString();//取系统当前时间/*主键:唯一且不为空1.标识列:触发器+序列 交给你们 2.取表主键的最大序号+1
*/
String URL="jdbc:oracle:thin:@localhost:1521:orcl";
String CNAME="oracle.jdbc.driver.OracleDriver";
Class.forName(CNAME);
Connection con=DriverManager.getConnection(URL, "scott", "tiger");
String sql="select nvl(max(nid),0) from news280";
PreparedStatement ps=con.prepareStatement(sql);
ResultSet rs=ps.executeQuery();
int nid = 0;//扩大作用域
if(rs.next()){nid=rs.getInt(1)+1;//最大序号+1
}
//实现增加=插入操作
sql="insert into news280(nid,tid,ntitle,nauthor,nsummary,ncontent,naddtime) values(?,?,?,?,?,?,?)";
//执行sql语句
ps=con.prepareStatement(sql);
//给占位符赋值
ps.setInt(1, nid);
ps.setInt(2, Integer.parseInt(ntid));
ps.setString(3, ntitle);
ps.setString(4, nauthor);
ps.setString(5, nsummary);
ps.setString(6, ncontent);
ps.setString(7, naddtime);//获得影响行数
int n=ps.executeUpdate();//关闭资源
if(con!=null&&!con.isClosed()){con.close();
}
if(ps!=null){ps.close();
}
if(rs!=null){rs.close();
}//做判断
if(n>0){//说明发表成功//新闻主界面response.sendRedirect("/s4/news/admin.jsp");
}
else{//说明发表失败out.print("<script>alert('发表失败');location.href='add.jsp';</script>");
}%>

JavaWeb04(验证码登录新闻增加)相关推荐

  1. javaWeb(验证码登录$新闻增加)

    一.完成简易验证码的制作 $(function(){myf();//给验证码添加点击事件$("#yzm").click(function(){myf();//刷新验证码});})/ ...

  2. javaWeb04(验证码登陆新闻增加)

    Everbody晚上好,现在是我们的深夜学习时间! 不要跟我说现在应该休息了,咱们生命不息,学习不止Q_Q,(才不会告诉你们我刚刚才想起来,不能拖欠!)好了现在我们进入今天的主题javaWeb04验证 ...

  3. JavaWeb04----验证码登录新闻增加

    一.验证码 实现简单的验证码思路:假设验证码是四位由数字和英文字母组成 1.首先我们需要一个数组来装下这个随机数(没有1和0是因为为了提高用户的体验感) //下标:0-33var arr = new ...

  4. JavaWeb验证码登录新闻发布

    前言 上次九歌分享了页面的跳转&JDBC 有了JDBC我们可以连上数据库啦,就可以开始做项目学习JavaWeb了,这次的项目是新闻发布系统,我会慢慢做,等完善版出来会做整个项目的文章,敬请期待 ...

  5. JavaWeb项目:新闻发布系统01(登录新闻增加)

    上次给大家介绍了一下页面的跳转和数据库的连接,不知道大家都记住了没有啊,今天就来接着给大家分享一下如何制作一个简单的新闻小项目吧,会用到之前给大家分享的一些知识哦,不知道大家都记住了没有,赶紧来一起动 ...

  6. JavaWeb新闻发布系统的登录新闻增加

    目录 一.登陆 登陆界面代码: 登陆逻辑处理代码: 二.首页代码 三.新闻添加 增加界面的代码: 处理增加的代码: 数据库代码 前言:我已经和大家分享一些关于JavaWeb的简单知识,我会运用这些写一 ...

  7. Spring Security简单增加短信验证码登录

    查网上资料增加短信验证码登录都要增加一大推,要重头写Spring Security的实现,我呢,只想在原来的密码登录基础上简单实现一下短信验证码登录. 1.首先得先一个认证类,来认证验证码是否正确,这 ...

  8. JavaWeb的登录与新闻增加

    目录 一.页面登录跳转 1.跳转的写法以及跳转的路径 2.前提工作 3.登录跳转功能的写法 ·登录界面 ·登录处理界面 ·首页 二.新闻的增加 1.新闻增加界面 2.新闻增加处理界面 3.数据库 储存 ...

  9. 各种登录源码来了!基础登录、验证码登录、小程序登录...全都要!

    现在开发个应用登录比以前麻烦的多.产品经理说用户名密码登录.短信登录都得弄上,如果搞个小程序连小程序登录也得安排上,差不多就是我全都要. 多种登录途径达到一个效果确实不太容易,今天胖哥在Spring ...

最新文章

  1. 为了让AI像人一样思考,DeepMind这次又干了什么?
  2. vue $emit $on 非父子非兄弟组件传值
  3. Linux基础之文件管理三兄弟(cp、mv、rm)
  4. js 绑定的键盘事件
  5. 服务器虚拟化架构设计,服务器虚拟化与数据中心I/O网络架构设计
  6. 杭电多校第十场 hdu6434 Count 欧拉函数打表 快速打表模板
  7. oracle配置ipv6_pl/sql developer通过IPV6连接oracle-阿里云开发者社区
  8. 20190725 SecureCRT查看日志修改关键字颜色
  9. 【Qt学习之路】我的Qt历程
  10. 2022年电子考研经验分享,本科双非,一志愿南航,调剂国科大上岸
  11. Java web 使用页面压缩
  12. SQL Server 2019下载及安装教程
  13. 如何解决移动端300ms延迟
  14. 计算机中的二进制实验报告,大学计算机-实验报告一.doc
  15. DNS这位“翻译官”是如何转换域名和IP地址的?
  16. php程序检测不到vc9,XAMPP2016中文精简版启动失败 缺少运行库解决办法
  17. 大数据系列 -- 数据埋点
  18. matlab画图命令fplot,matlab绘图方法fplot
  19. 关注按钮切换已关注_行业关注 | 粘胶短纤平稳运行下,或已暗潮涌动
  20. 知乎周源微信_每周源代码30-具有XML文字的VB.NET作为ASP.NET MVC的视图引擎

热门文章

  1. Django 前后端分离(REST Framework)
  2. 经典算法-(三)帕斯卡三角形(杨辉三角形)
  3. 计算机网络总结(4)---网络层
  4. Nginx 502 Bad Gateway
  5. java创建出现module_Eclipse创建Maven多模块工程Module开发(图文教程)
  6. 边双连通和点双连通(连通性)
  7. HG255d通过U盘搭载php服务器,转:利用block-extroot,让你的openwrt运行在USB设备上。...
  8. 无线环境下NAS传输速度过慢
  9. 习题10.3 分别定义Teacher类和Cadre类,采用多重继承方式由这两个类派生出新类Teacher_Cadre类。
  10. 对卷积神经网络中卷积层、激活层、池化层、全连接层的理解