用户表:  uid (主键,自动增长)   uname  upwd

使用分层实现注册。(必做)

使用分层实现登录。(选做)

1.index.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
  </head>
  
  <body  style="background:url(images/2.jpg)">
  <div class="contentArea">
    <form name="form1" method="post" action="control.jsp" >
        <table>
        
            <tr>    
                <td>用户名:</td>
                <td> <input type="text" name="uname" id="userName"  ></td>
            </tr>
            <tr>    
                 <td>输入登录密码:</td>
                <td><input type="password" name="upass" id="pass"></td>
            </tr>

        验证码:<img src="yanzhengma.jsp"/>
              <input type="text" name="code"/>

            <tr>    
                <td colspan="2"><input type="submit" value="注册"></td>
            </tr>
        </table>
    </form>
  </body>
</html>

2.control.jsp

<%@page import="com.gd.dao.Studao"%>
<%@page import="com.gd.bean.tea"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    tea t = new tea();
    
    String uname = request.getParameter("uname");
    t.setUname(uname);
    String upass = request.getParameter("upass");
    t.setUpass(upass);
    
    Studao sd=new Studao();
    if(sd.addStu(t)>0){
        //跳转注册成功页面 
        request.getRequestDispatcher("yes.jsp").forward(request,response);
    }else{
        //错误页面 
        request.getRequestDispatcher("no.jsp").forward(request,response);
    }
    
    
    
%>

3.yanzhengma.jsp

<%@ page contentType="image/jpeg" language="java" import="java.util.*,java.awt.*,java.awt.image.*,javax.imageio.*" pageEncoding="utf-8"%>
  
<%!
    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);
    }
%>
  
<%
    //设置页面不缓存
    response.setHeader("Pragma","no-cache");
    response.setHeader("Cache-Control","no-catch");
    response.setDateHeader("Expires",0);
  
    //在内存中创建图象
    int width = 60;
    int height = 20;
    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("Tines Nev Roman",Font.PLAIN,18));
    //随机产生干扰线
    g.setColor(getRandColor(160,200));
    for(int i = 0; i < 255; i++){
        int x = random.nextInt(width);
        int y = random.nextInt(height);
        int xl = random.nextInt(12);
        int yl = random.nextInt(12);
    }
    //随机产生认证码,4位数字
    String sRand = "";
    for(int i = 0; i < 4; i++){
        String rand = String.valueOf(random.nextInt(10));
        sRand  += rand;
        //将认证码显示到图象中
        g.setColor(new Color(20 + random.nextInt(110),20 + random.nextInt(110),20 + random.nextInt(110)));
        g.drawString(rand,13*i+6,16);
    }
    session.setAttribute("rCode",sRand);
    //图像生效
    g.dispose();
    //输出图像到页面
    ImageIO.write(image,"JPEG",response.getOutputStream());
    out.clear();
    out = pageContext.pushBody();
%>

4.yes.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
 
</head>
<body>
 
<%
    String uname = (String) request.getSession().getAttribute("uname");
%>

<body  style="background:url(images/2.jpg)">
  <div class="contentArea">
   <h1 style="color: red">欢迎亲</h1><br>
   <h4 style="color: blue">注册成功</h4><br>
</html>

5.no.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
 
 
 
<html>
  <head>
   
  </head>
   
  <body  style="background:url(images/2.jpg)">
  <div class="contentArea">
  <h1>注册失败</h1><hr>
    <h2>点击重新<a href="index.jsp">注册</a></h2>
  </body>
</html>

6.com.gd.bean.tea.java

package com.gd.bean;

public class tea {
    private int uid;
    private String uname;
    private String upass;
    //访问器
    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 getUpass() {
        return upass;
    }
    public void setUpass(String upass) {
        this.upass = upass;
    }
    //构造器
    public tea(int uid, String uname, String upass) {
        super();
        this.uid = uid;
        this.uname = uname;
        this.upass = upass;
    }
    public tea() {
        super();
    }
    
    
    
    
    
}

7.com.gd.dao.Studao.java

package com.gd.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import com.gd.bean.tea;

public class Studao {
    //学生数据访问类
    
        //添加学生
        public int addStu(tea t){
            int i=0;
            
            try {
                //加载驱动
                Class.forName("com.mysql.jdbc.Driver");
                //建立连接
                Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql", "root", "");            
                //写SQL语句
                String sql="insert into tea values(?,?,?)";            
                //执行
                PreparedStatement ps=con.prepareStatement(sql);
                ps.setInt(1, t.getUid());
                ps.setString(2, t.getUname());
                ps.setString(3, t.getUpass());
                i=ps.executeUpdate();
                
                
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            return i;
            
            
            
            
            
            
            
        }
        
        //删除学生
        
        //登录
        
        //查询全部
        
        //修改学生信息

}