写一个新的小试题遇到的问题

第一、

bean层

只写数据结构

1、定义成员变量,私有的属性

2、重写tostring方法

3、写带全部参数的构造方法

4、写无参构造方法

5、写get、set方法

#注意#     变量名和方法名的拼写错误,检查再三!!!

第二、JDBCUtil工具类

静态定义 Connection 

    url

    user

    password

 1 package com.ycw.util;
 2 
 3 import java.sql.DriverManager;
 4 import java.sql.PreparedStatement;
 5 import java.sql.ResultSet;
 6 import java.sql.SQLException;
 7 import com.mysql.jdbc.Connection;
 8 
 9 public class JDBCUtil {
10     private static Connection conn;
11     private static  String url="jdbc:mysql://localhost:3306/info?useUnicode=true&CharacterEncoding=utf-8";
12     private static  String user="root";
13     private static  String password="000429";
14     static {
15         try {
16             Class.forName("com.mysql.jdbc.Driver");
17         } catch (ClassNotFoundException e) {
18             // TODO 自动生成的 catch 块
19             e.printStackTrace();
20         }
21     }
22     public static Connection getConn() {
23         //获得连接
24         try {
25             conn = (Connection) DriverManager.getConnection(url,user,password);
26             if(conn!=null)
27                 System.out.println("数据库连接成功!");
28         } catch (SQLException e) {
29             // TODO 自动生成的 catch 块
30             e.printStackTrace();
31         }
32         return conn;
33     }
34     public static void drop(Connection conn,PreparedStatement ps)
35     {
36         if(ps!=null) {
37             try {
38                 ps.close();
39                 System.out.println("ps关闭!");
40             } catch (SQLException e) {
41                 // TODO 自动生成的 catch 块
42                 e.printStackTrace();
43             }
44         }
45         if(conn!=null) {
46             try {
47                 conn.close();
48                 System.out.println("conn关闭!");
49             } catch (SQLException e) {
50                 // TODO 自动生成的 catch 块
51                 e.printStackTrace();
52             }
53         }
54     }
55     public static void drop(Connection conn , PreparedStatement ps , ResultSet rs) {
56         if(rs!=null) {
57             try {
58                 rs.close();
59                 System.out.println("rs关闭!");
60             } catch (SQLException e) {
61                 // TODO 自动生成的 catch 块
62                 e.printStackTrace();
63             }
64         }
65         if(ps!=null) {
66             try {
67                 ps.close();
68                 System.out.println("ps关闭!");
69             } catch (SQLException e) {
70                 // TODO 自动生成的 catch 块
71                 e.printStackTrace();
72             }
73         }
74         if(conn!=null) {
75             try {
76                 conn.close();
77                 System.out.println("conn关闭!");
78             } catch (SQLException e) {
79                 // TODO 自动生成的 catch 块
80                 e.printStackTrace();
81             }
82         }
83     }
84 }

第三、dao层

1、类体静态定义

注意导包问题:

导包都是    java.sql.ResultSet

        java.sql.PreparedStatement

1 1   private static Connection conn;
2 2     private static PreparedStatement ps;
3 3     private static ResultSet rs;
4 4     private static StudentEnity student;

第四、servlet层

1、设置字符集

1      request.setCharacterEncoding("UTF-8");
2         response.setCharacterEncoding("UTF-8");
3         response.setContentType("application/json;charset=utf-8");

第五、页面层

#注意#

doget    处理href请求

href="${pageContext.request.contextPath}/servlet名"

e.g.      

<a href="${pageContext.request.contextPath}/MainServlet">显示全部信息</a>

JSTL的使用:

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

1 <c:forEach items="${arraylist}" var="student">
2             <tr>
3                 <td align="center">${student.studentname}</td>
4                 <td align="center">${student.studentid}</td>
5                 <td align="center">${student.studentclass }</td>
6                 <td align="center">${student.studentscore }</td>
7                 <td align="center">${student.studentdate }</td>
8             </tr>
9         </c:forEach>

#注意#

items 属性 = “${}”     在{} 里面的值和括号之间不能有空格,否则识别失败!

${类名.属性名}

这里实质上是调用了类的get方法,不是直接获取,是间接获取,所以成员变量依然定义成private,但是方法必须是公有的!

原文地址:https://www.cnblogs.com/rainbow-1/p/14103331.html