引入JavaBean的目的是把一部分java代码整合起来,编译重用,不糅合到jsp里面。
首先新建一个web工程,idea结构图如下:
添加依赖
pom.xml
新增依赖:
mysql
mysql-connector-java
5.1.18
javax.servlet
servlet-api
2.5
工程包括list.jsp、add.jsp、add_do.jsp、StaffDao.java
等几个文件组成
com.critc.staff.StaffDao,主要是连库、查询列表、新增员工等java方法
package com.critc.staff;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
/**
* 孔垂云
*/
public class StaffDao {
/**
* 获取数据库连接
* @return
*/
public Connection getConn() {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver");//指定连接类型
conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1/test", "root", "root");//获取连接
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
/**
* 员工列表
*
* @return
*/
public List list() {
List list = new ArrayList<>();
Connection conn = getConn();
try {
PreparedStatement pstmt = conn.prepareStatement("select * from staff");
ResultSet rs = pstmt.executeQuery();
while (rs.next()) {
Staff staff = new Staff();
staff.setId(rs.getInt("id"));
staff.setName(rs.getString("name"));
list.add(staff);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return list;
}
/**
* 新增
*
* @param name
*/
public void add(String name) {
Connection conn = getConn();
try {
PreparedStatement pstmt = conn.prepareStatement("insert into staff(name) values(?)");
pstmt.setString(1, name);
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
list.jsp 员工列表页面
<%@page import="com.critc.staff.Staff"%>
<%@page import="java.util.List"%>
<%@page import="com.critc.staff.StaffDao"%>
<%@page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
员工列表
新增
编号
姓名
<%
StaffDao staffDao = new StaffDao();
List list = staffDao.list();
for (Staff staff : list) {
%>
<%=staff.getId()%>
<%=staff.getName()%>
<%
}
%>
add.jsp 新增页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
新增员工
add_do.jsp 执行新增页面
<%@page import="com.critc.staff.StaffDao"%>
<%@page import="java.sql.*"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%
StaffDao staffDao = new StaffDao();
staffDao.add(request.getParameter("name"));
response.sendRedirect("list.jsp");
%>
引入javabean的作用就是把java的代码从jsp剥离开来,放到javabean中写,一个是便于调试,一个是集中起来便于重用。
源码下载
本工程详细源码