什么是jsp


1、什么是jsp呢?

实际上jsp就是一个servlet

在html页面中嵌入我们的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访问数据库

需求: 查询学生表信息展示到我们的jsp页面 jsp+jdbc 采用三层架构方式

采用的是三层架构的格式

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

1632710418952

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>


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM