2.JSP+JavaBean

引入JavaBean的目的是把一部分java代码整合起来,编译重用,不糅合到jsp里面。
首先新建一个web工程,idea结构图如下:

2.JSP+JavaBean_第1张图片
idea结构图.png

添加依赖

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中写,一个是便于调试,一个是集中起来便于重用。

源码下载

本工程详细源码

你可能感兴趣的:(2.JSP+JavaBean)