這是我的用戶驗證頁面。 我想在檢查用戶密碼和ID後傳遞ArrayList中的用戶名。 之後,我想在主頁面顯示名稱,但是, 我在我的主頁中獲得了空值。 如何在ArrayList中添加用戶名?將值傳遞給arraylist
// DwB: I love sql injection attacks - this is bad.
rs=st.executeQuery("select * from registration where U_ID='"+
U_ID+"' and Pass='"+Pass+"' ");
while(rs.next()){
na1=rs.getString("U_ID");
pw=rs.getString("Pass");
Name=rs.getString("U_N");}
if((U_ID.equals(na1))&&(Pass.equals(pw))){
HttpSession session=request.getSession();
//List<String> user= new ArrayList<>();
//String id=(String)session.getAttribute("ID");
//session.setAttribute("loggedIn",Name);
String username = request.getParameter("Name");
List<String> users = (List<String>)session.getAttribute("users");
if(null == users) {
users = new ArrayList<String>();
}
users.add(username);
session.setAttribute("users", users);
//response.sendRedirect("Welcome.jsp");
request.setAttribute("U_ID",na1);
request.getRequestDispatcher("/Welcome.jsp").forward(request, response);
你也可以粘貼你的jsp代碼嗎? –
並且您的堆棧跟蹤請 – mdewitt
1)請遵守[Java命名約定](http://www.oracle.com/technetwork/java/javase/documentation/codeconventions-135099.html#367),它們適用於一個原因。此代碼難以辨認。 2)請閱讀[SQL注入](https://www.owasp.org/index.php/Preventing_SQL_Injection_in_Java); **總是使用'PreparedStatement' **。它讓我很痛苦(還有很多其他人)在SQL查詢中看到'String'串聯。 –