12.25--jsp:结果用表格在前端显示

//steps:

// 1.创建web项目(用之前的增删改查)

// 2.搭tomcat服务器

// 3.在jsp里面写jsp脚本

//4.用tomcat 运行

Web项目:查询功能

//student类:

package com.jdbc.entity;

import java.io.Serializable;

public class Student implements Serializable {
 private int studentNo;
 private String studentName;
 private int sex;
 private String studentDesc;
 public int getStudentNo() {
  return studentNo;
 }
 public void setStudentNo(int studentNo) {
  this.studentNo = studentNo;
 }
 public String getStudentName() {
  return studentName;
 }
 public void setStudentName(String studentName) {
  this.studentName = studentName;
 }
 public int getSex() {
  return sex;
 }
 public void setSex(int sex) {
  this.sex = sex;
 }
 public String getStudentDesc() {
  return studentDesc;
 }
 public void setStudentDesc(String studentDesc) {
  this.studentDesc = studentDesc;
 }
 public Student(int studentNo, String studentName, int sex,
   String studentDesc) {
  super();
  this.studentNo = studentNo;
  this.studentName = studentName;
  this.sex = sex;
  this.studentDesc = studentDesc;
 }
 
 public Student(){};

}

 

//读取配置文件

package com.jdbc.utils;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
//单例模式
public class ConfigManager {
 private static ConfigManager configManager;
 private static Properties properties;
 //私有构造器
 private ConfigManager(){
  properties=new Properties();
  //通过类加载文件,返回流的信息
  InputStream is=ConfigManager.class.getClassLoader().getResourceAsStream("database.properties");
  try {
   properties.load(is);//配置文件加载
  } catch (IOException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }finally{
   if (is !=null) {
    try {
     is.close();
    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    }
   }
   
  }
  
  
 }
 
 //简单单例设置模式(饿汉模式):会出现bug
 /*public static ConfigManager getInstance(){
  if (configManager !=null) {
   configManager=new ConfigManager();
   
  }
  return configManager;
  
 }*/
 
 //简单单例设置模式(懒汉模式):适用于单线程,效率高
 /*public static synchronized ConfigManager getInstance(){
  if (configManager !=null) {
   configManager=new ConfigManager();
   
  }
  return configManager;
  
 }*/
 
 //简单单例设置模式(双重模式):多线程,常用。
 public static synchronized ConfigManager getInstance(){
  if (configManager ==null) {
   synchronized(ConfigManager.class){
    if (configManager ==null) {
     
     configManager=new ConfigManager();
    }
   }
   
   
  }
  return configManager;
  
 }
 
 public String getValue(String key){
  
  return properties.getProperty(key);
  
 }

}

 

//父类

package com.jdbc.dao;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.List;

 

import com.jdbc.entity.Student;
import com.jdbc.utils.ConfigManager;
import com.jdbc.utils.Constant;

 


public class BaseStudent {
 private static Connection conn=null;
 /**
  * 获取数据库连接
  * 单例模式
  * @return
  */
 public static Connection getConnection(){
  //Connection conn = null;
  String driver =ConfigManager.getInstance().getValue("driver");
  String url = ConfigManager.getInstance().getValue("url");
  String user = ConfigManager.getInstance().getValue("user");
  String password = ConfigManager.getInstance().getValue("password");
  try {
   Class.forName(driver);
   conn = DriverManager.getConnection(url, user, password);
   
  } catch (Exception e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  return conn;
 }
 
 
 /*//连接数据库
 public static Connection getConnection(){
  //通过反射加载驱动
  try {
   Class.forName(Constant.driver);
   //连接
   conn=DriverManager.getConnection(Constant.url, Constant.user, Constant.password);
   System.out.println("连接成功");
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  return conn;
  
 }*/
 
 //关闭资源
 public static void close(Connection conn,Statement st, ResultSet rs){
  try {
   if (rs!=null) {
    rs.close();
   
   }
   if (st!=null) {
    st.close();
    
   }
   if (conn!=null) {
    conn.close();
    
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 

//查询方法
 public static ResultSet getResultSet(String sql, Object[] objects){
  ResultSet rs=null;
  
  PreparedStatement ps=null;
  try {
   conn=getConnection();
   ps=conn.prepareStatement(sql);
   if (objects !=null && objects.length>0) {
    for (int i = 0; i < objects.length; i++) {
     ps.setObject((i+1), objects[i]);
     
    }
    
   }
   
   rs=ps.executeQuery();
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  return rs;
  
 }
 
 
 
}

 

//接口

package com.jdbc.dao;

import java.util.List;

import com.jdbc.entity.Student;

 

public interface Studentinter {

//查询
 List<Student> selectAllStudents();

 

 

//实现类

package com.jdbc.dao.imp;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.jdbc.dao.BaseStudent;
import com.jdbc.dao.Studentinter;
import com.jdbc.entity.Student;

public class Studentimp extends BaseStudent implements Studentinter {

@Override
 public List<Student> selectAllStudents() {
  String sql="select * from student";
  List<Student> list=null;
  
  
  try {
   ResultSet rs=this.getResultSet(sql, null);
    list=new ArrayList<Student>();
   
   while (rs.next()) {
    Student student=new Student();
    int studentNo=rs.getInt("studentNo");
    String studentName=rs.getString("studentName");
    int sex=rs.getInt("sex");
    String studentDesc=rs.getString("studentDesc");
    student.setStudentNo(studentNo);
    student.setStudentName(studentName);
    student.setSex(sex);
    student.setStudentDesc(studentDesc);
    list.add(student);
    
   }
  } catch (SQLException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
  return list;
 }

}

 

//新增server层接口

package com.jdbc.server;

import java.util.List;

import com.jdbc.entity.Student;

public interface Serverinf {
 List<Student> selectAllStudents();

}

 

//新增server层实现类:

package com.jdbc.server.imp;

import java.util.List;

import com.jdbc.dao.imp.Studentimp;
import com.jdbc.entity.Student;
import com.jdbc.server.Serverinf;

public class ServerImp implements Serverinf {

 @Override
 public List<Student> selectAllStudents() {
  Studentimp stu=new Studentimp();
  List<Student> list=stu.selectAllStudents();
  
  return list;
 }

}

 

//jsp

  <body>
  <%
   Serverinf server=new ServerImp();
   List<Student> list=server.selectAllStudents();
 
   %>
   <table border="1">
   <tr>
   <td>No</td>
   <td>Name</td>
   <td>sex</td>
   <td>Desc</td>
   </tr>
   <% for(Student student : list) { %>
  
   <tr>
   <td><%=student.getStudentNo() %></td>
   <td><%=student.getStudentName() %></td>
    <td><%=student.getSex() %></td>
     <td><%=student.getStudentDesc() %></td>
   </tr>
   <% }%>
   </table>
  </body>

 


 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值