JSP中四大作用域及操作資料庫
阿新 • • 發佈:2020-12-31
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>