我正在和其他同学完成一个项目,我们被卡住了。在我们的登录servlet中,我们连接到数据库并检索与电子邮件匹配的数据
我们需要这样传递信息:数据库---
谢谢
LogInServlet
@WebServlet("/LogInServlet" )
public class LogInServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
List<User> users = new ArrayList<User>();
public LogInServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException{
String email = request.getParameter("email");
String password = request.getParameter("password");
PrintWriter writer = response.getWriter();
String selectQuery="SELECT * FROM `user` WHERE email = ? and password = ?" ;
Connection connection =DBConnection.getConnectionToDatabase();
java.sql.PreparedStatement statement;
try {
statement = connection.prepareStatement(selectQuery);
statement.setString(1,email);
statement.setString(2,password);
ResultSet set = statement.executeQuery();
if(set.next()) {
User user = new User();
user.setEmail(set.getString("email"));
user.setPassword(set.getString("password"));
user.setFirstName(set.getString("firstName"));
user.setLastName(set.getString("lastName"));
user.setDateOfBirth(set.getString("DOB"));
users.add(user);
// THIS CODE TO SEND TO NEXT SERVLET
//request.setAttribute("email", set.getString(email));
// RequestDispatcher rd = request.getRequestDispatcher("/ProfileServlet");
//rd.forward(request, response);
//FOLLOWING CODE IS TEST CODE TO PROFILE HTML
response.sendRedirect("profile.html");
} else {
String errorMessage ="<html>\r\n"
+ "<head>\r\n"
+ "<meta charset=\"ISO-8859-1\">\r\n"
+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style2.css\">\r\n"
+ "<title>Log In Error</title>\r\n"
+ "</head>\r\n"
+ "<body>\r\n"
+ "<div class=\"accountMessage\">\r\n"
+ "<h1 class=\"message\">Log in unsuccessful, please try again.</h1>\r\n"
+ "<button class=\"messageLogIn\" onclick=\"history.back()\">Log In</button>\r\n"
+ "</div>\r\n"
+ "</body>\r\n"
+ "</html>";
writer.write(errorMessage);
}
set.close();
statement.close();
} catch (SQLException e) {
String errorMessage ="<html>\r\n"
+ "<head>\r\n"
+ "<meta charset=\"ISO-8859-1\">\r\n"
+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"style2.css\">\r\n"
+ "<title>Log In Error</title>\r\n"
+ "</head>\r\n"
+ "<body>\r\n"
+ "<div class=\"accountMessage\">\r\n"
+ "<h1 class=\"message\">Log in unsuccessful, please try again.</h1>\r\n"
+ "<button class=\"messageLogIn\" onclick=\"history.back()\">Log In</button>\r\n"
+ "</div>\r\n"
+ "</body>\r\n"
+ "</html>";
writer.write(errorMessage);
e.printStackTrace();
}
}
}
配置文件Servlet
//PROFILE PAGE WOULD BE DISPLAY HERE WITH USER DATA QUERYED FROM LOG IN PAGE
@WebServlet("/ProfileServlet")
public class ProfileServlet extends HttpServlet {
/**
*
*/
private static final long serialVersionUID = -6589250865438405024L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter writer = response.getWriter();
//List<User> users = (ArrayList<User>)request.getAttribute("myList");
String email =(String)request.getAttribute("email");
writer.write("<html><body>"+email+"</body></html>");
}
}
配置文件HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Profile Page</title>
<link rel="stylesheet" type="text/css" href="style3.css">
</head>
<body>
<img src="images/CanadaLogo.jpg" width="230px" height="100px">
<h3 class="profileHeading">Profile Page</h3>
<br>
<div class="navBarCon">
<!--Comments between divs remove white spaces-->
<div class="navItem"><a class="linkA" href="">Home</a></div><!--
--><div class="navItem"><a class="linkA" href="">Verify Identity</a></div><!--
--><div class="navItem"><a class="linkA" href="">Voting Portal</a></div><!--
--><div class="navItem"><a class="linkA" href="">Help</a></div><!--
--><div class="navItem"><a class="linkA" href="LogIn.html">Log Out</a></div><!--
--></div>
<div class="profileCon">
<img src="images/profileIcon.png" width="150px" height="150px">
<h3 class="pLabel">Name: </h3> <!-- NAME DISPLAYED HERE -->
<h3 class="pLabel">Date of birth: </h3> <!-- DOB DISPLAYED HERE -->
<h3 class="pLabel">Email: </h3> <!-- EMAIL DISPLAYED HERE -->
</div>
</body>
</html>
如果用户通过身份验证,您的LoginServlet可以将请求转发到ProfileServlet,否则返回错误页面响应(或转发到提供错误响应的另一个Servlet)。
RequestDispatcher dispatcher = getServletContext()
.getRequestDispatcher("/ProfileServlet");
dispatcher.forward(request, response);
问题内容: 我想将多个值从一个servlet传递到另一个servlet。请告诉我如何通过? 问题答案: 取决于您是否使用会话: 使用session.setAttribute()将数组存储在会话变量中。 使用session.getAttribute();检索数组。 但是,变量将一直保留到会话终止,您用其他东西覆盖它或将其删除为止。 如果将一个servlet转发到另一个servlet,则可以将其存储在
问题内容: 我需要将数据从一个表复制到另一个表。这两个表几乎具有相同的结构,但是位于不同的数据库中。 我试过了 我尝试此操作,但跨数据库出现错误…未实现 问题答案: 这是一个非常简单的任务。只需为此目的使用dblink: 如果您需要定期从外部数据库中获取数据,明智的做法是定义服务器和用户映射。然后,您可以使用较短的语句:
我想将数据从回收视图传递到另一个片段中,第一个适配器用于显示项目,第二个适配器用于篮子片段,希望将选定的项目放入。 我要从中获取数据的适配器 这是我要将数据放入的篮子片段的适配器 现在,我可以用来在它们之间传递数据。
问题内容: 如何从一个数据库复制到另一个数据库。 数据库名称visco 我想将所有表从visco数据库复制到新数据库名称作为neptune 我创建了一个没有任何表的数据库,然后尝试从database1.bak文件还原数据库,然后显示错误为 需要查询帮助 问题答案: 使用SQL Server Management Studio: 选项1 ->右键单击要复制的数据库 ->选择“任务”>“生成脚本” -
我尝试使用 如有任何帮助,不胜感激,谢谢。
问题内容: 我有两个数据库,一个叫做,一个叫做。由于我想练习插入,更新内容,因此我想将某些表从复制到。 我要复制的表称为: 我试图做的是(使用SSMS)右键单击表格,但其中没有“复制”! 问题答案: 假设您有两个数据库,例如A和B: 如果目标表不存在,将创建以下脚本(我不建议这样): INTO COPY_TABLE_HERE FROM A.dbo.table_from_A table_A 如果目标