javaweb的验证码登录和新闻增加

1.验证码登录

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>用户登录</title>
<link href="images/login.css" rel="stylesheet" type="text/css" />
<!-- 引入jQuery的类库 -->
<script type="text/javascript" src="js/jquery-3.3.1.js"></script>
<script src="js/jquery.validate.js" type="text/javascript" charset="utf-8"></script>
<!-- 另起一个script块 -->
<script type="text/javascript">
    //页面载入函数
    $(function(){
        myf();
        //给验证码添加点击事件
        $("#yzm").click(function(){
            myf();//刷新
        });
        $("#myForm").validate({
            rules:{
                //表单字段规则
                uname:{
                    required:true,
                    rangelength:[6,10]
            },
            upwd1:"required",

            },
            messages:{
            //错误信息
                uname:{
                    required:"用户名必填",
                    rangelength:"你个山炮"
            }
            }
        });
    })
        
        
    })
    
    //随机验证码=刷新验证码 
    function myf(){
        //数组下标:0-33 
        var 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');//所有候选组成验证码的字符,当然也可以用中文的
        //js的随机数  无限逼近0-1的小数  逼近0-33 四舍五入 
        var str = "";//拼接
        for(var i=0;i<4;i++){
            var a=Math.round(Math.random()*33);//随机下标
            //console.info(arr[a]);//根据下标取元素 
            str+=arr[a];//自身拼接
        }
        //给span标签赋值
        $("#yzm").html(str);//赋值
    }
    
    //验证登录 
    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{//说明验证码不为空的情况下
            //作业:实现验证码不区分大小写 
            if(yzm1!=yzm2){//不一致
                alert("验证码有误");
                myf();//刷新验证码
                $("#zz").val("");//清空文本框 
                return false;
            }
        }
        return true;
    }
    
</script>
</head>
<body>
    <form action="dologin.jsp" method="post" οnsubmit="return yzLogin()" id="myForm">
        <div id="login">
        
             <div id="top">
                  <div id="top_left"><img src="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 id="zz" style="width:40px;" type="text" name="cc" />&nbsp;&nbsp;
                         <span id="yzm" style="color: red;font-size:18px;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>
</html>

2.连接oracle数据库进行登录

<%@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", "lwsnb");
     //定义sql语句
     String sql="select * from tb_0328 where sname=? and spwd=?";
     //获得执行对象
     PreparedStatement ps=con.prepareStatement(sql);
     //给占位符赋值
     ps.setString(1, name);//用name给第1个占位符赋值 
     ps.setString(2, pwd);//用pwd给第2个占位符赋值 
     //开始执行 获得结果集
     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>");
     }
     //关闭资源 3个
     if(con!=null&&!con.isClosed()){
         con.close();
     }
     if(ps!=null){
         ps.close();
     }
     if(rs!=null){
         rs.close();
     }
     
     
 %>

----------总结-------

1.javaweb大部分代码和样式可以copy,但是连接oracle时需要记代码.

2.javaweb连接数据库代码基本和javabase连接数据库时的dao类基本相差无几,熟练掌握就行.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值