jsp笔记

1、什么是jsp呢?

实际上jsp就是一个servlet

在jsp页面中嵌入我们的java脚本

jsp的执行过程

1、翻译阶段

jsp在进行请求的时候会先被翻译成java文件

2、编译阶段

在将java文件编译成.class文件

3、执行

将处理之后的结果推送到我们的页面进行展示

如果我们jsp页面第二次访问直接加载编译好的.class文件,如果说第二次加载整整个文件,它修改了会再次进行翻译,在编译 在执行

2、jsp页面元素组成

1、page指令

作用:设置内部的多个属性定义整个页面的属性

设置的属性在整个页面都可以使用

2、小脚本和表达式

小脚本: <% 小脚本 ---java代码 %>

表达式: <%= %> 你可以堪称是输出语句

3、静态内容

HTML静态文本

4、指令:

以“<%@ ” 开始,以“%> ” 结束

5、声明 --方法的声明

<%! 方法 %>

6、注释

<!-- 客户端可以查看到 --> <%-- 客户端不能查看到 --%>

2、jsp中使用jdbc访问数据库

采用的是三层架构的格式

1、将我们用的三层架构的包打出来

2、编写我们的basedao

z直接将我们之前写好的basedao拿过来使用

3、编写我们的实体对象(student)

public class StudentEntity {
    private int stuId;
    private String stuName;
    private String gender;
    private int age;
    private Date birthday;
    private int  studentNO;
    private int ClassID;
    private String city;
    private String email;
    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 getGender() {
        return gender;
    }
    public void setGender(String gender) {
        this.gender = gender;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
    public Date getBirthday() {
        return birthday;
    }
    public void setBirthday(Date birthday) {
        this.birthday = birthday;
    }
    public int getStudentNO() {
        return studentNO;
    }
    public void setStudentNO(int studentNO) {
        this.studentNO = studentNO;
    }
    public int getClassID() {
        return ClassID;
    }
    public void setClassID(int classID) {
        ClassID = classID;
    }
    public String getCity() {
        return city;
    }
    public void setCity(String city) {
        this.city = city;
    }
    public String getEmail() {
        return email;
    }
    public void setEmail(String email) {
        this.email = email;
    }
}

4、编写dao层接口

//查询学生表中所有信息
    public List<StudentEntity> getStuList(String sql);

5、编写dao接口实现

PreparedStatement pst = null;
    ResultSet rs = null;
    @Override
    public List<StudentEntity> getStuList(String sql) {
        //声明一个最终返回的集合
        List<StudentEntity> stulist = new ArrayList<StudentEntity>();
        //连接数据库
        Connection  connection=BaseDao.getConnection();
        //执行sql--先产生一个PreparedStatement
        try {
            pst = connection.prepareStatement(sql);
            rs = pst.executeQuery(); //拿到结果集
            while(rs.next()) {
                //声明一个学生对象
                StudentEntity student = new StudentEntity();
                student.setStuId(rs.getInt("stuId"));
                student.setStuName(rs.getString("stuName"));
                student.setAge(rs.getInt("age"));
                student.setCity(rs.getString("city"));
                stulist.add(student);//将对象添加到集合中
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return stulist;
    }

6、编写service接口

//查询student表所有信息
    public List<StudentEntity> findAll();

7、编写service接口实现

    //实例化dao层对象
    StudentDaoImpl StudentDao = new StudentDaoImpl();
    @Override
    public List<StudentEntity> findAll() {
        //编写查询sql
         String sql = "select * from studentinfo";
         //调用dao层中的查询方法
         List<StudentEntity> userlist =StudentDao.getStuList(sql);
         return userlist;
    }

8、编写jsp---stuinf.jsp

将我们学生信息展示到页面中

<%@page import="java.util.List"%>
<%@page import="com.dzqc.testStu.entity.StudentEntity"%>
<%@page import="com.dzqc.testStu.service.impl.StudentServiceImpl"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <table border="2" align = "center">
        <caption>学生信息列表</caption>
        <tr>
            <td>学号</td>
            <td>姓名</td>
            <td>年龄</td>
            <td>城市</td>
        </tr>
        <!-- 读取业务层数据 -->
        <%
        //实例化业务层对象
        StudentServiceImpl studentServiceImpl = new StudentServiceImpl();
        //调用查询学生多有的信息方法
    //  List<StudentEntity> stulist =studentServiceImpl.findAll();
        List<StudentEntity> stulist = studentServiceImpl.findAll();
        for(int i = 0 ; i<stulist.size();i++){
            StudentEntity stu =stulist.get(i);
        %>
            <tr>    
                <td><%=stu.getStuId() %></td>
                <td><%=stu.getStuName() %></td>
                <td><%=stu.getAge() %></td>
                <td><%=stu.getCity() %></td>
            </tr>
        <%}%>
    </table>
</body>
</html>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值