0

我是一个初学者,我想创建一个登录 servlet,它将验证用户的数据并返回他们的全名。

除了从数据库中显示用户的全名外,我一切正常。

我应该在登录 servlet 还是在 jsp 中执行此操作?如果我在 JSP 中执行此操作,如何让它只显示一个全名而不是整个表。

这是servlet中的相关代码。有没有办法显示查询的名字和姓氏?

ps = conn.prepareStatement("select first_name, last_name from userdata where user_name = ? and password = ?");

            ps.setString(1, uname);
            ps.setString(2, passwd);

            rs = ps.executeQuery();


            if (rs.next()) {


                RequestDispatcher rd = request.getRequestDispatcher("Welcome.jsp");
                rd.include(request, response);

//out.println(rs.getString(2));
             } else {

                RequestDispatcher rd = request.getRequestDispatcher("tryagain.jsp");
                rd.include(request, response);
4

3 回答 3

1

一种方法是使用setAttribute()getAttribute() 从数据库中检索用户名并使用setAttribute();

setAttribute("username","username");

在jsp中显示它使用getAttribute();

getAttribute("username");
于 2013-10-04T07:07:52.390 回答
0

首先,您将数据库类与 Servlet 类分开。为数据库创建单独的类。

并且为了将数据从 servlet 传输到 JSP 使用 request.setAttribute("objectName", object Value);

于 2013-10-04T07:10:41.483 回答
0

设置请求中名字和姓氏的值

if (rs.next()) {
             request.setAttribute("fname",rs.getString("Firstname");
             request.setAttribute("lname",rs.getString("Latname");            
             RequestDispatcher rd = request.getRequestDispatcher("Welcome.jsp");
             rd.include(request, response);
 } 

jsp页面代码

 <% 
   <%= request.getAttribute("fname") %>
   <%= request.getAttribute("lname") %>
 %>
于 2013-10-04T07:14:08.763 回答