1. 程式人生 > >將資料庫裡的使用者通過jsp全部展示出來

將資料庫裡的使用者通過jsp全部展示出來

本次程式碼主要是對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+"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;密碼:"+password1);
		out.println("</br>");
	}
	if(isOK){
		out.println("</br>");
		out.println("<h3>顯示完成!</h3>");
	}
%>


</body>
</html>

其他程式碼就是在之前寫的 裡面(點選即可跳轉)

實現結果: