本文实例为大家分享了java学生信息管理系统的具体代码,供大家参考,具体内容如下
本例的学生信息添加进入数据库的事务(可以提交事务,事务回滚,用本地线程完善)
主页面index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
学生信息管理
?cmd=query'>查看学生信息
学生信息添加
获取数据库连接的工具ConnUtils5.java
package cn.hncu.utils;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
public class ConnUtils5 {
//本地线程管理对象,用于实现: 同一个线程获取的连接是同一个
private static ThreadLocal< Connection> t=new ThreadLocal();
private final static List pool=new ArrayList();
private static int SIZE;//由资源文件读取
private ConnUtils5(){
}
static{
Properties p=new Properties();
try {
//下面这种方式在纯Java项目中可以读取到classpath下的资源文件,但无法读取JavaEE项目的。因为Tomcat把系统的默认类加载器改了
//p.load( ClassLoader.getSystemClassLoader().getSystemResourceAsStream("jdbc.properties"));
// p.load(ClassLoader.getSystemResourceAsStream("jdbc.properties"));
//读取Web项目的classpath下的资源文件,用这个可以
p.load(ConnUtils3.class.getClassLoader().getResourceAsStream("jdbc.properties"));
String driver=p.getProperty("driver");
String url=p.getProperty("url");
String name=p.getProperty("username");
String pwd=p.getProperty("password");
String ssize=p.getProperty("size");
SIZE=Integer.parseInt(ssize);
Class.forName(driver);
for(int i=0;i
资源文件jdbc.properties
##MySQL
driver=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/hncu?useUnicode=true&characterEncoding=utf-8
username=root
password=1234
size=3
##Oracle
#driver=oracle.jdbc.driver.OracleDriver
#url=jdbc:oracle:thin:@127.0.0.1:1521:orcl
#username=scott
#password=tiger
值对象
Stud.java
package cn.hncu.domain;
import java.util.ArrayList;
import java.util.List;
public class Stud {
private String id;
private String name;
//※专为“多”方添加一个集合---体现多表中的“一对多关系”
private List books=new ArrayList();//注意,该集合要在构造时或之前就new出来。
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 List getBooks() {
return books;
}
public void setBooks(List books) {
this.books = books;
}
@Override
public String toString() {
return "id=" + id + "," + name + "," + books;
}
}
Book.java
package cn.hncu.domain;
public class Book {
private Integer id;
//基本数据类型全部用包装类的声明,为以后使用框架做技术准备---包装类能够兼容框架(因为一般框架都会使用类反射)
private String name;
private Double price;
//※专为“一”方添加一个对象类型的变量(注意,不用studid)---体现多表中的“一对多关系”
private Stud s;//设置主人
//private String studid;//★★不要这样设
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getPrice() {
return price;
}
public void setPrice(Double price) {
this.price = price;
}
public Stud getS() {
return s;
}
public void setS(Stud s) {
this.s = s;
}
@Override
public String toString() {
return "id=" + id + "," + name + "," + price;//这里不能输出Stud对象,否则无穷递归
}
}
stud层的servlet层–QueryServlet.java
package cn.hncu.stud.servlet;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.hncu.domain.Book;
import cn.hncu.domain.Stud;
import cn.hncu.stud.service.IStudService;
import cn.hncu.stud.service.StudServiceImpl;
public class QueryServlet extends HttpServlet {
//注入
IStudService service=new StudServiceImpl();
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String cmd=request.getParameter("cmd");
System.out.println("cmd:"+cmd);
if("query".equals(cmd)){
query(request, response);
}else if("add".equals(cmd)){
add(request, response);
}
}
public void query(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
List