將資料庫裡的使用者通過jsp全部展示出來
阿新 • • 發佈:2019-01-08
本次程式碼主要是對jsp,servlet之間傳值,以及基本邏輯結構的練習。加深對jsp和servlet的理解
工程專案結構如下圖:
LoginServlet.java 原始碼
package com.sweet.myServlet; import java.io.IOException; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.catalina.startup.HomesUserDatabase; /** * Servlet implementation class LoginServlet */ @WebServlet("/LoginServlet") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public LoginServlet() { super(); // TODO Auto-generated constructor stub } /** * @see Servlet#init(ServletConfig) */ public void init(ServletConfig config) throws ServletException { // TODO Auto-generated method stub } /** * @see Servlet#destroy() */ public void destroy() { // TODO Auto-generated method stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub // response.getWriter().append("Served at: ").append(request.getContextPath()); String username = request.getParameter("username"); String password = request.getParameter("password"); request.setAttribute("username", username); if(username.equals("sweet")&&password.equals("123")) { request.getRequestDispatcher("Home.jsp").forward(request, response); // response.sendRedirect("Home.jsp"); }else { response.sendRedirect("Failed.jsp"); } } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub doGet(request, response); } }
Index.jsp
<%@ 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> 登陸介面 <form action="LoginServlet" method="post"> 使用者名稱:<input type="text" name="username"><br> 密碼:<input type="text" name="password"><br> <input type="submit" name="登陸"> </form> </body> </html>
Home.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.SQLException" %> <%@ page import="java.util.Iterator" %> <%@ page import="java.util.List" %> <%@ page import="com.sweet.dao.impl.UserDaoImpl" %> <%@ page import="com.sweet.daos.IUserDao" %> <%@ page import="com.sweet.model.UserObj" %> <%@ page import="com.sweet.tools.DBUtil" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h3>登陸成功!</h3> <% String str = (String)request.getAttribute("username"); %> <h3>歡迎<%=str %>!!!!</h3> <h3>顯示全部使用者資訊:</h3> <% IUserDao user = new UserDaoImpl(); List<UserObj> list = user.getAll(); Iterator<UserObj> it = list.iterator(); boolean isOK = false; while(it.hasNext()){ isOK = true; UserObj userObj = it.next(); String name1 = userObj.getU_username(); String password1 = userObj.getPassword(); out.print("使用者名稱:"+name1+" 密碼:"+password1); out.println("</br>"); } if(isOK){ out.println("</br>"); out.println("<h3>顯示完成!</h3>"); } %> </body> </html>
其他程式碼就是在之前寫的 裡面(點選即可跳轉)
實現結果: