2021-03-24——Servlet+JDBC

Servlet+JDBC

  1. 创建数据库表
create  table t_student(

stu_id  int primary key auto_increment,

stu_name varchar(20),

stu_pass varchar(20),

stu_age int,

stu_address varchar(30)

);
  1. 创建javaweb项目StudentManger,[修改Content Root为student],修改工程访问名称
  2. 导入第三方依赖【druid-1.1.10.jar  mysql-connector-java-5.1.38-bin.jar】
  3. 在src下创建数据库连接配置文件【xxxxxxxx.properties】

driverClassName=com.mysql.jdbc.Driver

url=jdbc:mysql://127.0.0.1:3306/test?useUnicode=true&characterEncoding=UTF-8

username=root

password=123456

initialSize=100

maxActive=300

maxWait=60000

  1. 创建javabean
package com.wangxing.student.bean;

/**

 * 保存学生信息的javabean

 * @author Administrator

 *

 */

public class StudentBean {

         private int stuid;

         private String  stuname;

         private String stupass;

         private int stuage;

         private String stuaddress;

         public int getStuid() {

                  return stuid;

         }

         public void setStuid(int stuid) {

                  this.stuid = stuid;

         }

         public String getStuname() {

                  return stuname;

         }

         public void setStuname(String stuname) {

                  this.stuname = stuname;

         }

         public String getStupass() {

                  return stupass;

         }

         public void setStupass(String stupass) {

                  this.stupass = stupass;

         }

         public int getStuage() {

                  return stuage;

         }

         public void setStuage(int stuage) {

                  this.stuage = stuage;

         }

         public String getStuaddress() {

                  return stuaddress;

         }

         public void setStuaddress(String stuaddress) {

                  this.stuaddress = stuaddress;

         }

}
  1. 创建数据访问接口以及实现类
package com.wangxing.student.dao.impl;

import java.io.InputStream;

import java.sql.Connection;

import java.sql.PreparedStatement;

import java.sql.ResultSet;

import java.util.ArrayList;

import java.util.List;

import java.util.Properties;

import javax.sql.DataSource;

import com.alibaba.druid.pool.DruidDataSourceFactory;

import com.wangxing.student.bean.StudentBean;

import com.wangxing.student.dao.StudentDao;

public class StudentDaoImpl implements StudentDao{

         private static StudentDaoImpl studentDao=null;

         // 定义保存druid数据源对象

         private DataSource dataSource = null;

         private StudentDaoImpl() {

                          if(dataSource==null){

                                   try {

                                   Properties pro=new Properties();

                                   InputStream inStream=this.getClass().getResourceAsStream("/mysqldata.properties");

                                   pro.load(inStream);

                                   dataSource=DruidDataSourceFactory.createDataSource(pro);

                                   }catch(Exception e) {

                                            e.printStackTrace();

                                   }

                          }

                  }

         public static StudentDaoImpl getStudentDaoImpl(){

                  if(studentDao==null){

                          studentDao=new StudentDaoImpl();

                  }

                  return studentDao;

         }

         @Override

         public void insertStudent(StudentBean student)throws Exception{

                      Connection conn = dataSource.getConnection();

                          String insert = "insert into t_student values(null,?,?,?,?);";

                          PreparedStatement statement = conn.prepareStatement(insert);

                          statement.setString(1, student.getStuname());

                          statement.setString(2, student.getStupass());

                          statement.setInt(3, student.getStuage());

                          statement.setString(4, student.getStuaddress());

                          int temp = statement.executeUpdate();

                          statement.close();

                          conn.close();

         }

         @Override

         public void updateStudent(StudentBean student)throws Exception{

                  Connection conn = dataSource.getConnection();

                  String update = "update t_student set stu_name=?,stu_pass=?,stu_age=?,stu_address=? where stu_id=?;";

                  PreparedStatement statement = conn.prepareStatement(update);

                  statement.setString(1, student.getStuname());

                  statement.setString(2, student.getStupass());

                  statement.setInt(3, student.getStuage());

                  statement.setString(4, student.getStuaddress());

                  statement.setInt(5, student.getStuid());

                  int temp = statement.executeUpdate();

                  statement.close();

                  conn.close();

         }

         @Override

         public void deleteStudent(int stuid)throws Exception {

                  Connection conn = dataSource.getConnection();

                  String delete = "delete from t_student where stu_id=?;";

                  PreparedStatement statement = conn.prepareStatement(delete);

                  statement.setInt(1, stuid);

                  int temp = statement.executeUpdate();

                  statement.close();

                  conn.close();

         }



         @Override

         public StudentBean selectStudentById(int stuid)throws Exception {

                  StudentBean student=null;

                  Connection conn = dataSource.getConnection();

                  String select = "select * from t_student where stu_id=?;";

                  PreparedStatement statement = conn.prepareStatement(select);

             statement.setInt(1, stuid);

                  ResultSet resultSet = statement.executeQuery();

                  if (resultSet.next()) {

                                   int id = resultSet.getInt("stu_id");

                                   String name = resultSet.getString("stu_name");

                                   String pass = resultSet.getString("stu_pass");

                                   int age = resultSet.getInt("stu_age");

                                   String address = resultSet.getString("stu_address");

                                   student= new StudentBean();

                                   student.setStuid(id);

                                   student.setStuname(name);

                                   student.setStupass(pass);

                                   student.setStuage(age);

                                   student.setStuaddress(address);

                          }

                  resultSet.close();

                  statement.close();

                  conn.close();

                  return student;

         }



         @Override

         public List<StudentBean> selectStudent()throws Exception {

                  List<StudentBean> studenlist=new ArrayList<StudentBean>();

                  Connection conn = dataSource.getConnection();

                  String select = "select * from t_student;";

                  PreparedStatement statement = conn.prepareStatement(select);

                  ResultSet resultSet = statement.executeQuery();

                  while(resultSet.next()) {

                                   int id = resultSet.getInt("stu_id");

                                   String name = resultSet.getString("stu_name");

                                   String pass = resultSet.getString("stu_pass");

                                   int age = resultSet.getInt("stu_age");

                                   String address = resultSet.getString("stu_address");

                                   StudentBean student= new StudentBean();

                                   student.setStuid(id);

                                   student.setStuname(name);

                                   student.setStupass(pass);

                                   student.setStuage(age);

                                   student.setStuaddress(address);

                                   studenlist.add(student);

                          }

                  resultSet.close();

                  statement.close();

                  conn.close();

                  return studenlist;

         }

}
  1. 创建业务访问接口以及实现类
package com.wangxing.student.service.impl;

import java.util.List;

import com.wangxing.student.bean.StudentBean;

import com.wangxing.student.dao.StudentDao;

import com.wangxing.student.service.StudentService;

public class StudentServiceImpl implements StudentService{

         private StudentDao  stuentDao=null;

         public StudentServiceImpl(StudentDao  stuentDao){

                  this.stuentDao=stuentDao;

         }

         @Override

         public void insertStudent(StudentBean student) throws Exception {

                  stuentDao.insertStudent(student);

         }

         @Override

         public void updateStudent(StudentBean student) throws Exception {

                  stuentDao.updateStudent(student);

         }

         @Override

         public void deleteStudent(int stuid) throws Exception {

                  stuentDao.deleteStudent(stuid);

         }

         @Override

         public StudentBean selectStudentById(int stuid) throws Exception {

                  return stuentDao.selectStudentById(stuid);

         }

         @Override

         public List<StudentBean> selectStudent() throws Exception {

                  return stuentDao.selectStudent();

         }

}
  1. 创建具体业务处理的Servlet
package com.wangxing.student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

import com.wangxing.student.dao.impl.StudentDaoImpl;

import com.wangxing.student.service.StudentService;

import com.wangxing.student.service.impl.StudentServiceImpl;

/**

 * 处理添加操作的servlet

 * @author Administrator

 *

 */

public class StudentInsertServlet extends HttpServlet{

         @Override

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  doPost(req, resp);

         }

         @Override

         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  String stuname=req.getParameter("username");

                  String stupass=req.getParameter("password");

                  String stuage=req.getParameter("stuage");

                  String stuaddress=req.getParameter("stuaddress");

                  StudentBean  student=new StudentBean();

                  student.setStuname(stuname);

                  student.setStupass(stupass);

                  student.setStuage(Integer.parseInt(stuage));

                  student.setStuaddress(stuaddress);

                  StudentService studentService=new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());

                  try {

                          studentService.insertStudent(student);

                           resp.sendRedirect("studentselectlist");

                  } catch (Exception e) {

                          e.printStackTrace();

                          resp.sendRedirect("studentselectlist");

                  }

         }

}



package com.wangxing.student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

import com.wangxing.student.dao.impl.StudentDaoImpl;

import com.wangxing.student.service.StudentService;

import com.wangxing.student.service.impl.StudentServiceImpl;

/**

 * 处理修改操作的servlet

 * @author Administrator

 *

 */

public class StudentUpdateServlet extends HttpServlet{

         @Override

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  doPost(req, resp);

         }

         @Override

         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  String stuid=req.getParameter("stuid");

                  String stuname=req.getParameter("username");

                  String stupass=req.getParameter("password");

                  String stuage=req.getParameter("stuage");

                  String stuaddress=req.getParameter("stuaddress");

                  StudentBean  student=new StudentBean();

                  student.setStuid(Integer.parseInt(stuid));

                  student.setStuname(stuname);

                  student.setStupass(stupass);

                  student.setStuage(Integer.parseInt(stuage));

                  student.setStuaddress(stuaddress);

                  StudentService studentService=new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());

                  try {

                          studentService.updateStudent(student);

                          resp.sendRedirect("studentselectlist");

                  } catch (Exception e) {

                          e.printStackTrace();

                          resp.sendRedirect("studentselectlist");

                  }

         }

}



package com.wangxing.student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

import com.wangxing.student.dao.impl.StudentDaoImpl;

import com.wangxing.student.service.StudentService;

import com.wangxing.student.service.impl.StudentServiceImpl;

/**

 * 处理删除操作的servlet

 * @author Administrator

 *

 */

public class StudentDeleteServlet extends HttpServlet{

         @Override

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  doPost(req, resp);

         }

         @Override

         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  String stuid=req.getParameter("stuid");

                  StudentService studentService=new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());

                  try {

                          studentService.deleteStudent(Integer.parseInt(stuid));

                          resp.sendRedirect("studentselectlist");

                  } catch (Exception e) {

                          e.printStackTrace();

                          resp.sendRedirect("studentselectlist");

                  }

         }

}



package com.wangxing.student.servlet;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

import com.wangxing.student.dao.impl.StudentDaoImpl;

import com.wangxing.student.service.StudentService;

import com.wangxing.student.service.impl.StudentServiceImpl;

/**

 * 处理根据id查询操作的servlet

 * @author Administrator

 *

 */

public class StudentSelectStudentServlet extends HttpServlet{

         @Override

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  doPost(req, resp);

         }

         @Override

         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  String stuid=req.getParameter("stuid");

                  StudentService studentService=new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());

                  try {

                          StudentBean student=studentService.selectStudentById(Integer.parseInt(stuid));

                          req.setAttribute("student", student);

                          req.getRequestDispatcher("update").forward(req, resp);

                  } catch (Exception e) {

                          e.printStackTrace();

                  }

         }

}



package com.wangxing.student.servlet;

import java.io.IOException;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

import com.wangxing.student.dao.impl.StudentDaoImpl;

import com.wangxing.student.service.StudentService;

import com.wangxing.student.service.impl.StudentServiceImpl;

/**

 * 处理查询所有操作的servlet

 * @author Administrator

 *

 */

public class StudentSelectListServlet extends HttpServlet{

         @Override

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  doPost(req, resp);

         }

         @Override

         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  StudentService studentService=new StudentServiceImpl(StudentDaoImpl.getStudentDaoImpl());

                  try {

                          List<StudentBean> studentlist=studentService.selectStudent();

                          req.setAttribute("studentlist", studentlist);

                          req.getRequestDispatcher("/main").forward(req, resp);

                  } catch (Exception e) {

                          e.printStackTrace();

                  }

         }

}
  1. 创建页面Servlet
package com.wangxing.student.ui;

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

/**

 * 主页面

 * @author Administrator

 *

 */

public class MainServlet extends HttpServlet{

         @Override

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  doPost(req, resp);

         }

         @Override

         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  PrintWriter out=resp.getWriter();

                  out.println("<!DOCTYPE html>");

                  out.println("<html>");

                  out.println("<head>");

                  out.println("<meta charset=\"UTF-8\">");

                  out.println("<title>学生信息</title>");

                  out.println("</head>");

                  out.println("<body>");

                  out.println("<center>");

                  out.println("<table border=\"1px\" width=\"500px\">");

                  out.println("<tr align=\"left\">");

                  out.println("<td colspan=\"7\"><h1><a href=\"add\">新建</a></h1></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td colspan=\"7\"><h1>学生信息</h1></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>学生编号</td>");

                  out.println("<td>学生姓名</td>");

                  out.println("<td>登陆密码</td>");

                  out.println("<td>学生年龄</td>");

                  out.println("<td>学生地址</td>");

                  out.println("<td colspan=\"2\">相关操作</td>");

                  out.println("</tr>");

                  List<StudentBean> studentlist=(List<StudentBean>)req.getAttribute("studentlist");

                  if(studentlist.size()==0){

                          out.println("<tr align=\"center\">");

                          out.println("<td colspan=\"7\">没有记录</td>");

                          out.println("</tr>");

                  }else{

                          for(StudentBean  student:studentlist){

                                   out.println("<tr align=\"center\">");

                                   out.println("<td>"+student.getStuid()+"</td>");

                                   out.println("<td>"+student.getStuname()+"</td>");

                                   out.println("<td>"+student.getStupass()+"</td>");

                                   out.println("<td>"+student.getStuage()+"</td>");

                                   out.println("<td>"+student.getStuaddress()+"</td>");

                                   out.println("<td><a href=\"studentselectstudent?stuid="+student.getStuid()+"\">修改</a></td>");

                                   out.println("<td><a href=\"studentdelete?stuid="+student.getStuid()+"\">删除</a></td>");

                                   out.println("</tr>");

                          }

                  }

                  out.println("</table>");

                  out.println("</center>");

                  out.println("</body>");

                  out.println("</html>");

                  out.close();

         }

}



package com.wangxing.student.ui;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;

/**

 * 添加页面

 * @author Administrator

 *

 */

public class AddServlet extends HttpServlet{

         @Override

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  doPost(req, resp);

         }

         @Override

         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  PrintWriter out=resp.getWriter();

                  out.println("<!DOCTYPE html>");

                  out.println("<html>");

                  out.println("<head>");

                  out.println("<meta charset=\"UTF-8\">");

                  out.println("<title>新建用户信息</title>");

                  out.println("</head>");

                  out.println("<body>");

                  out.println("<center>");

                  out.println("<form action=\"studentinsert\" method=\"post\">");

                  out.println("<table border=\"1px\">");

                  out.println("<tr align=\"center\">");

                  out.println("<td colspan=\"2\"><h1>新建用户信息</h1></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>学生姓名:</td>");

                  out.println("<td><input type=\"text\" name=\"username\"/></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>登陆密码:</td>");

                  out.println("<td><input type=\"password\" name=\"password\"/></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>学生年龄:</td>");

                  out.println("<td><input type=\"text\" name=\"stuage\"/></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>学生地址:</td>");

                  out.println("<td><input type=\"text\" name=\"stuaddress\"/></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td colspan=\"2\"><input type=\"submit\" value=\"新建\"/></td>");

                  out.println("</tr>");

                  out.println("</table>");

                  out.println("</form>");

                  out.println("</center>");

                  out.println("</body>");

                  out.println("</html>");

                  out.close();

         }

}



package com.wangxing.student.ui;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import com.wangxing.student.bean.StudentBean;

/**

 * 修改页面

 * @author Administrator

 *

 */

public class UpdateServlet extends HttpServlet{

         @Override

        protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  doPost(req, resp);

         }

         @Override

         protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

                  StudentBean student=(StudentBean)req.getAttribute("student");

                  PrintWriter out=resp.getWriter();

                  out.println("<!DOCTYPE html>");

                  out.println("<html>");

                  out.println("<head>");

                  out.println("<meta charset=\"UTF-8\">");

                  out.println("<title>修改用户信息</title>");

                  out.println("</head>");

                  out.println("<body>");

                  out.println("<center>");

                  out.println("<form action=\"studentupdate\" method=\"post\">");

                  out.println("<input type=\"hidden\" name=\"stuid\" value=\""+student.getStuid()+"\"/>");

                  out.println("<table border=\"1px\">");

                  out.println("<tr align=\"center\">");

                  out.println("<td colspan=\"2\"><h1>修改用户信息</h1></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>学生姓名:</td>");

                  out.println("<td><input type=\"text\" name=\"username\" value=\""+student.getStuname()+"\"/></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>登陆密码:</td>");

                  out.println("<td><input type=\"password\" name=\"password\" value=\""+student.getStupass()+"\"/></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>学生年龄:</td>");

                  out.println("<td><input type=\"text\" name=\"stuage\" value=\""+student.getStuage()+"\"/></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td>学生地址:</td>");

                  out.println("<td><input type=\"text\" name=\"stuaddress\" value=\""+student.getStuaddress()+"\"/></td>");

                  out.println("</tr>");

                  out.println("<tr align=\"center\">");

                  out.println("<td colspan=\"2\"><input type=\"submit\" value=\"修改\"/></td>");

                  out.println("</tr>");

                  out.println("</table>");

                  out.println("</form>");

                  out.println("</center>");

                  out.println("</body>");

                  out.println("</html>");

                  out.close();

         }

}
  1. 创建字符过滤器
  2. 配置web.xml
  3. 测试http://127.0.0.1:8080/student/studentselectlist

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值