jsp+servlet+javabean+dao

利用该模式开发一个学生体质信息系统

1.建立对应数据库表结构的JavaBean-Student.java

package beans;

public class Student {
    private String id;
    private String name;
    private String sex;
    private int age;
    private float weight;
    private float hight;
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    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 int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public float getWeight() {
        return weight;
    }
    public void setWeight(float weight) {
        this.weight = weight;
    }
    public float getHight() {
        return hight;
    }
    public void setHight(float hight) {
        this.hight = hight;
    }
    public Student(){}
}

2.建立数据库连接与关闭释放资源的工具JavaBean类

package beans;
import java.sql.*;
public class DBConnect{
    private static String driver="com.microsoft.sqlserver.jdbc.SQLServerDriver"; 
    private static String url="jdbc:sqlserver://localhost:1433; DatabaseName=stuinfo";    
    private static String user="sa";
    private static String password="123456";
    public static Connection getDBConnection(){
        try{
            Class.forName(driver);
            Connection conn=DriverManager.getConnection(url, user, password);
            return conn;
        }catch(Exception e){
            e.printStackTrace();
        }
        return null;
    }
    public static void closeDB(Connection conn,PreparedStatement pstmt,ResultSet rs){
        try{
            if(rs!=null)rs.close();
            if(conn!=null) conn.close();
            if(pstmt!=null) pstmt.close();
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

3.建立实现数据库处理的接口

package beans;

import java.util.List;

public interface IStuDao {
    public abstract void create(Student stu) throws Exception;//添加记录的方法
    //public abstract void remove(Student stu) throws Exception;    //删除记录的方法
    public abstract Student find(Student stu) throws Exception;    //查询记录的方法
    public abstract List<Student> findAll() throws Exception;       //列出全部的记录的方法
    //public abstract void update(Student stu) throws Exception;      //修改记录的方法
}

4.对接口的实现及其访问逻辑处理JavaBean类

package beans;
import java.sql.*;
import java.util.ArrayList;
import java.util.List;
import beans.DBConnect;
public class StuDao implements IStuDao{
    //protected static final String s="id,name,sex,age,weight,hight";
    protected static String is="insert into StuInfo(id,name,sex,age,weight,hight) values(?,?,?,?,?,?)";
    protected static String se="select * from StuInfo where id=?";
    protected static String ud="update StuInfo set id=?,name=?,sex=?,age=?,weight=?,hight=?";
    protected static String de="delete from StuInfo where id=?";
    //实现向数据库添加记录的方法
    public void create(Student stu) throws Exception{
        Connection conn=null;
        PreparedStatement pstmt=null;

        try{
            conn=DBConnect.getDBConnection();
            pstmt=conn.prepareStatement(is);
            pstmt.setString(1,stu.getId());
            pstmt.setString(2,stu.getName());
            pstmt.setString(3,stu.getSex());
            pstmt.setInt(4,stu.getAge());
            pstmt.setFloat(5,stu.getWeight());
            pstmt.setFloat(6,stu.getHight());
            pstmt.executeUpdate();
        }finally{
            DBConnect.closeDB(conn, pstmt, null);
        }
    }
    //实现按条件查询记录的方法
    public Student find(Student stu) throws Exception{
        Connection conn=null;
        PreparedStatement pstmt=null;
        ResultSet rs=null;
        Student stu2=null;
        try{
            conn=DBConnect.getDBConnection();
            pstmt=conn.prepareStatement(se);
            pstmt.setString(1,stu.getId());
            rs=pstmt.executeQuery();
            if(rs.next()){
                stu2=new Student();
                stu2.setId(rs.getString(1));
                stu2.setName(rs.getString(2));
                stu2.setSex(rs.getString(3));
                stu2.setAge(rs.getInt(4));
                stu2.setWeight(rs.getFloat(5));
                stu2.setHight(rs.getFloat(6));
            }
        }finally{
                DBConnect.closeDB(conn, pstmt, rs);
            }
           return stu2;
        }
    //实现列出数据库全部记录的方法
    public List<Student> findAll() throws Exception{
        Connection conn=null;
        PreparedStatement pstmt=null;
        ResultSet rs=null;
        List<Student> student=new ArrayList<Student>();
        conn=DBConnect.getDBConnection();
        pstmt=conn.prepareStatement("select * from StuInfo");
        rs=pstmt.executeQuery();
        while(rs.next()){
            Student stu2=new Student();
            stu2.setId(rs.getString(1));
            stu2.setName(rs.getString(2));
            stu2.setSex(rs.getString(3));
            stu2.setAge(rs.getInt(4));
            stu2.setWeight(rs.getFloat(5));
            stu2.setHight(rs.getFloat(6));
            student.add(stu2);
        }
        DBConnect.closeDB(conn, pstmt, rs);
        return student;
    }
}

5.建立控制逻辑的Servlet

插入操作示例

package servlets;
//实现对数据库的插入操作
import java.io.IOException;
import beans.StuDao;
import beans.Student;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Servlet1 extends HttpServlet {
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
         Student stu=new Student();
         //String sid=request.getParameter("sid");
         //String sname=request.getParameter("sname");
         //String ssex=request.getParameter("ssex");
         //int sage=Integer.parseInt(request.getParameter("sage"));
         //float sweight=Float.parseFloat(request.getParameter("sweight"));
         //float shight=Float.parseFloat(request.getParameter("shight"));
         request.setCharacterEncoding("UTF-8");
         stu.setId(request.getParameter("sid"));
         stu.setName(request.getParameter("sname"));
         stu.setSex(request.getParameter("ssex"));
         stu.setAge(Integer.parseInt(request.getParameter("sage")));
         stu.setWeight(Float.parseFloat(request.getParameter("sweight")));
         stu.setHight(Float.parseFloat(request.getParameter("shight")));
         StuDao sd=new StuDao();
         try {
                sd.create(stu);
            } catch (Exception e) {
                e.printStackTrace();
            }
    }
    public void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
           doPost(request,response);
    }

}

6.在jsp页面中调用Servlet

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
  <head>  
    <title>添加信息提交页面</title>
  </head>
  <body>
  <form action="Servlet1" method="post">
  <table border="0" width="238" height="252">
  <tr><td>学号</td><td><input type="text" name="sid"></td></tr>
  <tr><td>姓名</td><td><input type="text" name="sname"></td></tr>
  <tr><td>性别</td><td><input type="text" name="ssex"></td></tr>
  <tr><td>年龄</td><td><input type="text" name="sage"></td></tr>
  <tr><td>体重</td><td><input type="text" name="sweight"></td></tr>
  <tr><td>身高</td><td><input yupe="text" name="shight"></td></tr>
  <tr align="center">
  <td><input type="submit" value="提交"></td>
  <td><input type="reset" value="重置"></td>
  </tr>
  </table>
  </form>
  </body>
</html>
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值