JSP中四大作用域及操作数据库

JSP中四大作用域及操作数据库
四大作用域
对象描述
pageContext只在当前页生效
request在一次请求中生效
session在一次会话中生效
application在整个项目中生效
<%
		//验证方式:分别给不同的对象设置不同的参数,在另一个页面中验证是否能够获取对应的参数
		pageContext.setAttribute("pageContext", "pageContext");
		request.setAttribute("request", "request");
		session.setAttribute("session", "session");
		application.setAttribute("application","application");
		
		request.getRequestDispatcher("next.jsp").forward(request, response);
	%>
	<h3>当前页</h3>
	<a href="./next.jsp">go next page</a>
	<hr>
	pageContext:<%=pageContext.getAttribute("pageContext") %><br>
	request:<%=request.getAttribute("request") %><br>
	session:<%=session.getAttribute("session") %><br>
	application:<%=application.getAttribute("application") %>
JSP中操作数据库
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.util.*,beans.Emp,java.sql.*" %>
<%
	//思路:连接数据库,将获取到的数据存储起来,然后在数据列表页中进行获取渲染
	request.setCharacterEncoding("utf-8");
	

	//定义集合用于接收数据
	List<Emp> list = new ArrayList<Emp>();
	//1、注册驱动
	Class.forName("com.mysql.jdbc.Driver");
	//2、获取连接对象
	Connection conn = DriverManager.getConnection("jdbc:mysql:///hongzehu","root","root");
	//3、定义SQL,预编译
	String sql = "select * from emp";
	PreparedStatement ps = conn.prepareStatement(sql);
	//4、执行SQL拿到结果集
	ResultSet rs = ps.executeQuery();
	//5、遍历结果集,将结果集存储到集合中
	while(rs.next()){
		int eno = rs.getInt(1);
		String ename = rs.getString(2);
		String sex = rs.getString(3);
		String phone = rs.getString(4);
		String address = rs.getString(5);
		Emp emp = new Emp(eno,ename,sex,phone,address);
		//将对象添加到集合中
		list.add(emp);
	}
	//将数据存储到域中
	session.setAttribute("list", list);
	//6、关闭数据库连接对象
	rs.close();
	ps.close();
	conn.close();
	
	//回跳到list页面
	response.sendRedirect("list.jsp");
%>

//列表展示
<%
		//获取存储的集合数据
		Object obj = session.getAttribute("list");
		if(obj == null){
			response.sendRedirect("control.jsp");
			return;
		}
		List<Emp> list = (List<Emp>)obj;
	%>
	<table border="1" cellpadding="0" cellspacing="0" width="50%" align="center">
		<tr>
			<th>员工编号</th>
			<th>员工姓名</th>
			<th>员工性别</th>
			<th>联系方式</th>
			<th>家庭住址</th>
		</tr>
	
	<%
		for(Emp emp : list){
	%>
	
		<tr>
			<td><%=emp.getEno() %></td>
			<td><%=emp.getEname() %></td>
			<td><%=emp.getSex() %></td>
			<td><%=emp.getPhone() %></td>
			<td><%=emp.getAddress() %></td>
		</tr>
	<%
		}
	%>
	</table>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值