• javaweb入门


    题目为   编写学生注册信息界面,并且连接到数据库

     1 package com.ccc.servlet;
     2 
     3 import java.io.IOException;
     4 
     5 import javax.servlet.ServletException;
     6 import javax.servlet.annotation.WebServlet;
     7 import javax.servlet.http.HttpServlet;
     8 import javax.servlet.http.HttpServletRequest;
     9 import javax.servlet.http.HttpServletResponse;
    10 
    11 import com.ccc.business.ZhuceService;
    12 import com.ccc.po.Zhuce;
    13 
    14 public class ZhuceServlet extends HttpServlet {
    15 
    16     @Override
    17     protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    18         // TODO Auto-generated method stub
    19         request.setCharacterEncoding("utf-8");//设置编码
    20         String param=request.getParameter("param");
    21         
    22         if("add".equals(param)) {
    23             String user=request.getParameter("user");
    24             String password=request.getParameter("password");
    25             String name=request.getParameter("name");
    26             String sex=request.getParameter("sex");
    27             String diqu=request.getParameter("diqu");
    28             String phone=request.getParameter("phone");
    29             String youxiang=request.getParameter("youxiang");
    30             Zhuce zhuce=new Zhuce(user,password,name,sex,diqu,phone,youxiang);
    31             ZhuceService zs=new ZhuceService();
    32             zs.saveZhuce(zhuce);
    33             System.out.println("连接servlet");
    34             //重定向到index.jsp
    35             response.sendRedirect("index.jsp");
    36             
    37         }
    38         if("delete".equals(param)) {
    39             String user = request.getParameter("user");
    40             
    41             ZhuceService.deleteZhuce(user);
    42 
    43             // 重定向到index.jspt页面
    44             response.sendRedirect("index.jsp");
    45         }
    46     }
    47     
    48 }
    package com.ccc.po;
    
    public class Zhuce {
        private String user;
        private String password;
        private String name;
        private String sex;
        private String diqu;
        private String phone;
        private String youxiang;
        public Zhuce(String user,String password,String name,String sex,String diqu,String phone,String youxiang) {
            super();
            this.user=user;
            this.password=password;
            this.name=name;
            this.sex=sex;
            this.diqu=diqu;
            this.phone=phone;
            this.youxiang=youxiang;
        }
        public String getUser() {
            return user;
        }
        public void setUser(String user) {
            this.user = user;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getSex() {
            return sex;
        }
        public void setSex(String sex) {
            this.sex = sex;
        }
        public String getDiqu() {
            return diqu;
        }
        public void setDiqu(String diqu) {
            this.diqu = diqu;
        }
        public String getPhone() {
            return phone;
        }
        public void setPhone(String phone) {
            this.phone = phone;
        }
        public String getYouxiang() {
            return youxiang;
        }
        public void setYouxiang(String youxiang) {
            this.youxiang = youxiang;
        }
        
    }
     1 package com.ccc.DButil;
     2 import java.sql.Connection;
     3 import java.sql.DriverManager;
     4 import java.sql.PreparedStatement;
     5 import java.sql.SQLException;
     6 import java.sql.Statement;
     7 
     8 //数据库资源管理工具
     9 public class DButil {
    10 
    11     private static Connection conn;
    12     private static Statement stmt;
    13     private static PreparedStatement pstmt;
    14     
    15     static {
    16         //加载驱动
    17         try {
    18             Class.forName("com.mysql.jdbc.Driver");
    19         } catch (ClassNotFoundException e) {
    20             // TODO Auto-generated catch block
    21             e.printStackTrace();
    22         }
    23     }
    24     
    25     //实例化数据库连接conn
    26     public static Connection getConnection() {
    27         try {
    28             conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/zhucebiao?useUnicode=true&characterEncoding=UTF-8", "root", "root");
    29         } catch (SQLException e) {
    30             // TODO Auto-generated catch block
    31             e.printStackTrace();
    32         }
    33         return conn;
    34     }
    35     
    36     //实例化SQL执行句柄stmt
    37     public static Statement getStatement() {
    38         Connection conn = getConnection();
    39         try {
    40             if(conn != null) {
    41                 stmt = conn.createStatement();
    42             }
    43             
    44         } catch (SQLException e) {
    45             // TODO Auto-generated catch block
    46             e.printStackTrace();
    47         }
    48         return stmt;
    49     }
    50     
    51     //实例化SQL执行句柄pstmt
    52     public static PreparedStatement getPreparedStatement(String sql) {
    53         Connection conn = getConnection();
    54         try {
    55             if(conn != null) {
    56                 pstmt = conn.prepareStatement(sql);
    57             }
    58         }catch(SQLException e) {
    59             e.printStackTrace();
    60         }
    61         return pstmt;
    62     }
    63     
    64     //关闭数据库连接资源
    65     public static void closeDBResources() {
    66         try {
    67             if(pstmt != null && !pstmt.isClosed()) {
    68                 pstmt.close();
    69             }
    70             if(stmt != null && !stmt.isClosed()) {//如果stmt不为空,并且还未关闭
    71                 stmt.close();
    72             }
    73             if(conn != null && !conn.isClosed()) {
    74                 conn.close();
    75             }
    76         }catch(SQLException e) {
    77             e.printStackTrace();
    78         }
    79         
    80     }
    81     
    82 }
    package com.ccc.dao;
    
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.util.ArrayList;
    import java.util.List;
    
    import com.ccc.DButil.DButil;
    
    import com.ccc.po.Zhuce;
    
    
    
    public class ZhuceDao {
        //保存信息
        public void saveZhuce(Zhuce zhuce) {
            String sql="insert into zhucebiaodan(user,password,name,sex,diqu,phone,youxiang)values(?,?,?,?,?,?,?)";
            PreparedStatement pstmt=DButil.getPreparedStatement(sql);
            //设置参数
            try {
                pstmt.setString(1, zhuce.getUser());
                pstmt.setString(2, zhuce.getPassword());
                pstmt.setString(3, zhuce.getName());
                pstmt.setString(4, zhuce.getSex());
                pstmt.setString(5, zhuce.getDiqu());
                pstmt.setString(6, zhuce.getPhone());
                pstmt.setString(7, zhuce.getYouxiang());
                pstmt.executeUpdate();//更新数据
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            
        }
        //删除学生
            public void deleteZhuce(String user) {
                String sql = "delete from zhucebiaodan where user = ? ";
                PreparedStatement pstmt = DButil.getPreparedStatement(sql);
                
                try {
                    pstmt.setString(1, user);
                    pstmt.executeUpdate();
                    
                } catch (SQLException e) {
                    
                    e.printStackTrace();
                }finally {
                    DButil.closeDBResources();
                }
            }
        //查询所有信息
                public static List<Zhuce> findAllZhuce() {
                    List<Zhuce> zhucelist=new ArrayList<Zhuce>();
                    String sql="select user,password,name,sex,diqu,phone,youxiang from zhucebiaodan ";
                    PreparedStatement pstmt=DButil.getPreparedStatement(sql);
                    //设置参数
                    try {
                        ResultSet rs=pstmt.executeQuery();//执行得到结果集
                        while(rs.next()) {//每循环一次就找到一个学生
                            
                            String user=rs.getString("user");
                            String password=rs.getString("password");
                            String name=rs.getString("name");
                            String sex=rs.getString("sex");
                            String diqu=rs.getString("diqu");
                            String phone=rs.getString("phone");
                            String youxiang=rs.getString("youxiang");
                            Zhuce zhuce=new Zhuce(user,password,name,sex,diqu,phone,youxiang);
                            zhucelist.add(zhuce);//将找到的学生对象加到集合里面
                        }
                        rs.close();//关闭查询资源
                    } catch (SQLException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                    finally {
                        //关闭资源
                        DButil.closeDBResources();
                    }
                    return zhucelist;
                }
            
    }
    package com.ccc.business;
    
    import java.util.List;
    
    import com.ccc.dao.ZhuceDao;
    import com.ccc.po.Zhuce;
    
    
    public class ZhuceService {
        private static ZhuceDao zhucedao=new ZhuceDao();
        //添加信息
            public  void saveZhuce(Zhuce zhuce) {
                zhucedao.saveZhuce(zhuce);
            }
            //查询所有信息
            public List<Zhuce> findAllZhuce(){
                return ZhuceDao.findAllZhuce();
            }
            //删除信息
            public static void deleteZhuce(String user) {
                zhucedao.deleteZhuce(user);
            }
    }
      1 <%@ page language="java" contentType="text/html; charset=UTF-8"
      2     pageEncoding="UTF-8"%>
      3 <!DOCTYPE html>
      4 <html>
      5 <head>
      6 <meta charset="UTF-8">
      7 <title>Insert title here</title>
      8 </head>
      9 <script type="text/javascript">
     10 function checkForm(){
     11     //根据input 的id找到四个控件  节点
     12     var userNode=document.getElementById("user");
     13     var passwordNode=document.getElementById("password");
     14     var nameNode=document.getElementById("name");
     15     var phoneNode=document.getElementById("phone");
     16     var youxiangNode=document.getElementById("youxiang");
     17     
     18     var regUser=/^[a-zA-Z]([a-zA-Z]|d){5,11}$/;//纯数字1-10个 ^起始符  $末尾符
     19     var regPassword=/^([a-zA-Z]|d){6}$/;
     20 
     21     var regPhone=/^d{11}$/;
     22     var regYouxiang=/^S+@S+.com$/;
     23     
     24     //判断user是否为空
     25     if(userNode.value.length==0){
     26         alert("用户名不能为空");
     27         return false;
     28     }
     29     if(!regUser.test(userNode.value)){
     30         alert("用户名必须以英文字母开头和数字组成的为6-12位字符");
     31         return false;
     32     }
     33     //判断password是否为空
     34     if(passwordNode.value.length==0){//将空格替换成长度为0
     35         alert("密码不能为空!");
     36         return false;
     37     }
     38     if(!regPassword.test(passwordNode.value)){//将空格替换成长度为0
     39         alert("密码为6位英文和数字组成");
     40         return false;
     41     }
     42     //判断name是否为空
     43     if(nameNode.value.length==0){
     44         alert("姓名不能为空");
     45         return false;
     46     }
     47 
     48 
     49     //判断phone是否为空
     50     if(phoneNode.value.length==0){
     51         alert("手机号不能为空");
     52         return false;
     53     }
     54     if(!regPhone.test(phoneNode.value)){
     55         alert("手机号必须为11位数字");
     56         return false;
     57     }
     58     //判断youxiang是否为空
     59     if(youxiangNode.value.length==0){
     60         alert("邮箱不能为空");
     61         return false;
     62     }
     63     if(!regYouxiang.test(youxiangNode.value)){
     64         alert("邮箱必须为邮箱格式");
     65         return false;
     66     }
     67     return true;
     68 }        
     69 </script>
     70 <body>
     71     <h2>软件工程专业交流注册表</h2>
     72     <hr>                       
     73     <form action="ZhuceServlet?param=add"   method="post" onsubmit= "return checkForm();">
     74         <table width="400" border="0" align="center">
     75             <tr>
     76                 <td>用户名:</td>
     77                 <td><input type="text" id="user" name="user"></td>
     78             </tr>
     79             <tr>
     80                 <td>密码:</td>
     81                 <td><input type="password" id="password" name="password" ></td>
     82             </tr>
     83             <tr>
     84                 <td>姓名:</td>   <!--输入只能为数字   正则表达式 -->
     85                 <td><input type="text" id="name" name="name" ></td>
     86             </tr>
     87             <tr>
     88                 <td>sex:</td>
     89                 <td><input type="checkbox" id="sex" name="sex" value="Bike"> 90                     <input type="checkbox" id="sex" name="sex" value="Car">女 </td>
     91             </tr>
     92             <tr>
     93                 <td>地区:</td>
     94                 <td><select id="diqu" name="diqu">
     95                         <option value="Volvo">Volvo</option>
     96                         <option value="Saab">Saab</option>
     97                         <option value="Fiat" selected>Fiat</option>
     98                         <option value="Audi">Audi</option>
     99                 </select></td>
    100             </tr>
    101             <tr>
    102                 <td>手机号:</td>
    103                 <td><input type="text" id="phone" name="phone"></td>
    104             </tr>
    105             <tr>
    106                 <td>邮箱:</td>
    107                 <td><input type="text" id="youxiang" name="youxiang"></td>
    108             </tr>
    109             <tr>
    110                 <td colspan="2">
    111                     <input type="submit" value="提交">
    112                     <input type="reset" value="重置">
    113                 </td>
    114             </tr>
    115         </table>
    116     </form>
    117 </body>
    118 </html>
  • 相关阅读:
    临界区,互斥量,信号量,事件的区别
    解决位图失真-SetStretchBltMode()
    Invalidate、RedrawWindow与UpdateWindow
    Shlwapi.h Shlwapi.dll 动态库
    C++ _access和_waccess的使用方法
    纯C++ 连接SQL Server2005 数据库读写操作的小例子
    测试代码执行时间的帮助类
    BUG: GetDC() ReleaseDC()引起的内存泄漏
    DebugView图文教程
    CreateFile函数详解
  • 原文地址:https://www.cnblogs.com/2940500426yingxin/p/11716787.html
Copyright © 2020-2023  润新知