jsp28笔记

jsp 28

equals/== 区分

前端

1)导入jquery

<script type="text/javascript" src="js/jquery-1.8.3.js"></script>

2)隔行变色

<script type="text/javascript">
        $(document).ready(function () {
            $("tr:odd").css("background-color","lightgrqy")
        });
    </script>

3)三层优化

面向接口开发

接口:interface ————》IXxxxService

实现类:implements————》XxxxServiceImpl

以后使用接口/实现类的时候:

父类可以指向子类(子类的子类)
接口 x = new 实现类();

2.DBUtil数据库帮助类(通用的),简化Dao 的代码冗余

​ DataBase Util

帮助类,xxx.util

3)报错14:39 Error running ‘tomcat’: Address localhost:1099 is already in use

C:\Users\asus>netstat -ano

活动连接

  协议  本地地址          外部地址        状态           PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1016
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       5640
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:902            0.0.0.0:0              LISTENING       4392
  TCP    0.0.0.0:912            0.0.0.0:0              LISTENING       4392
  TCP    0.0.0.0:1099           0.0.0.0:0              LISTENING       5180
  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING       2132

4)方法重构

5)int,double,float等都是基本类型,不是类,更没有父类了,所以你说的不行,无法通过编译
但是如果你改成对应的包装类Integer或者Double、Float等作为子类的返回类型,就可以了,这叫做协变返回

分页

推导公式

某一页的数据从哪儿开始 从哪儿结束

oracle

第n页开始结束
1110
21120
32130
4
5(n-1)*10+1n*10

结论:(n-1)X10+1—— nX10

mysql从0开始计数(数据库底层特性)

第n页开始结束
009
11019
22029
33039
4
5n*10(n+1)*10-1

第0页:SELECT * FROM student LIMIT 0,10

第一页:SELECT * FROM student LIMIT 10,10

第n页:SELECT * FROM student LIMIT n*10,10

分页实现

​ 数据总数 SELECT COUNT(*) FROM student

​ 页面大小(每页显示的条数) 用户自定义

​ 总页数 数据总数/页面大小

​ 总页数=数据总数%页面大小==0?数据总数/页面大小:数据总数/页面大小+1

​ 当前页的页码 用户自定义

​ 当前类对象集合 查数据库

#### ResultSet
while (rs.next()) {
    int sid = rs.getInt("id");
    String sname = rs.getString("name");
    int sage = rs.getInt("age");
    String saddress = rs.getString("address");
    students.add(new Student(sid, sname, sage, saddress));
}
@param columnIndex the first column is 1, the second is 2, ...
@return the column value;
int getInt(String columnLabel);参数为数据库的列数,从1开始,返回取得对应的数据
int getInt(String columnLabel);参数为数据库的列名
String getString(int columnIndex);
String getString(String columnLabel);
sql 语句
SELECT COUNT(*) all FROM student
(*)代表查询哪一列
select count(1) from student比count(*)效率高

1)封装分页所需数据

public class Page {
    //当前页
    private int currentPage;
    //页面大小
    private int pageSize;
    //当前页数据集合
    private List<Student> students;
    //总数据量
    private int totalCount;
    //总页数
    private int totalPage;
}
封装在javaBean

2)servlet取得数据库所有数据

int currentPage = Integer.parseInt(CPage);
        int pageSize = 3;
        List<Student> students = studentService.queryStudentsByPage(currentPage,pageSize);
        Page page = new Page();
        //先算总数据量,再赋值页面大小,根据前两者得出总页数
        page.setTotalCount(studentService.getTotalCount());
        page.setCurrentPage(currentPage);
        page.setPageSize(pageSize);
        page.setStudents(students);

        req.setAttribute("page",page);
        req.getRequestDispatcher("index1.jsp").forward(req,resp);

3)前端获取request域里面的数据(存在了page里面)

注意:page是jsp内置对象
    <%
        Page page1 = (Page) request.getAttribute("page");
        for (Student s :
                page1.getStudents()) {
    %>

4)分页用户自定义每页显示几条数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值