【问题标题】:JSP JavaBean and Servlets?JSP JavaBean 和 Servlet?
【发布时间】:2010-09-27 10:10:53
【问题描述】:

我必须为视图创建一个使用 JSP 的简单表单,其中模型和控制器是 Servlet,通信需要使用 JavaBeans 完成。

我创建了一个 JSP 驱动的表单来接受用户名和密码,用户需要对其进行身份验证才能在论坛中发布和查看消息我使用以下代码来阅读 JSP 文本框:

<%@page import="forum.beans.*" %>

<html>
  <head>
    <title>Login - Meassage Bord</title>
        <%
                String uname = request.getParameter("uname");
            String pass = request.getParameter("pass");

%>
  </head>
  <body bgcolor="LightSteelBlue">
    <font face="Calibri, Centuary Gothic, Times New Roaman">
        <table border="0" align="center">
          <form method="post" action="servlet\Controller">

                <tr>
                    <td>Username: *</td>
                    <td><input name="uesername" value="<%=uname%>" type="text" /></td>
                </tr>

                <tr>
                    <td>Password: *</td>
                    <td><input name="password" value="<%=pass%>" type="password" /></td>
                </tr>
                <tr>

                    <td align="center"> <br /><br /><input type="submit" value="Login" /></td>

                    <td align="center"> <br /><br /><input type="reset" value="Clear" /></td>
                </tr>

            </form>
        </table>

    </font>
  </body>
</html>

我的问题是,我应该使用什么而不是我使用过的东西

<%request.getParameter("uesername");%>

其次,如何将这些值传递到 JSP 标记中??

【问题讨论】:

    标签: jsp servlets javabeans


    【解决方案1】:

    我应该使用而不是我使用过的东西

    <%request.getParameter("uesername");%>
    

    您应该在监听表单动作 URL 的控制器 servlet 的 doPost() 方法中执行此操作。应该注意的是,在良好的 JSP/Servlet 模型/视图/控制器设计的情况下,JSP 应该包含任何 scriptlet 行。请记住这一点。另请参阅 this topic 以获得一些提示。

    其次,如何将这些值传递到 JSP 标记中?

    您可以在 EL 中通过${param} 保留它们。它基本上是指Map&lt;String, String&gt;,其中参数名称是关键。

    <input name="username" vaule="${param.username}">
    

    需要注意的是,这对 XSS 攻击很敏感。如果你想办法解决这个问题,你可能会获得额外的积分;)


    另一个不相关的评论:HTML &lt;font&gt; 标记自 1998 年以来已被弃用。我不确定您从哪里了解到它,但这些来源已经过时了。您应该使用 CSS 为 HTML 文档赋予样式。

    【讨论】:

    • 嗨,Balus,感谢您的帖子,讲师特别要求我们不要花时间在“镀金”系统上,这就是我使用此处显示的石器时代方法的原因。关于上面的问题,经过深思熟虑,我采取了一种不同的方法,似乎进展顺利,如果我还有任何问题,我会发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    相关资源
    最近更新 更多