当前位置: 首页 > 知识库问答 >
问题:

在url行中显示属性

董俊
2023-03-14

我用两个jsp文件和一个控制器构建了一个小servlet。

这是登录。jsp

<body>
    <section class="loginform cf">
    <form name="login" action="controller/login" method="get" onsubmit="return validateForm()"
        accept-charset="utf-8">
        <ul>
            <li><label for="username">Username</label> <input type="text"
                name="username" ></li>
            <li><label for="password">Password</label> <input
                type="password" name="password" ></li>
            <li><input type="submit" value="Login"></li>
        </ul>
    </form>

    <form  action="http://localhost:8080/ToDoListProj" method="get">
         <input title="Register" type="submit" value="Not Yet A Member?" formaction="register.jsp"/>
        <br/>
    </form>
    </section>
</body>

这是控制器:

package il.ac.hit.controller;

import il.ac.hit.model.HibernateToDoListDAO;
import il.ac.hit.model.Item;
import il.ac.hit.model.ToDoListPlatformException;
import il.ac.hit.model.User;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import antlr.StringUtils;

/**
 * Servlet implementation class ToDoListPlatformContrller
 */
@WebServlet("/controller/*")
public class ToDoListPlatformController extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public ToDoListPlatformController() {
        super();

    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    private boolean isAlphaNumeric(String word)
    {
        return word.matches("[a-zA-Z0-9]+");
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String path = request.getPathInfo();
        System.out.println(path);
        RequestDispatcher dispatcher = null;

        switch(path)
        {
        case "/login":
        {
            try {
                String username = request.getParameter("username");
                String password = request.getParameter("password");
                if(username != null && password != null && isAlphaNumeric(username) && isAlphaNumeric(password))
                {
                    List<User> usersList = il.ac.hit.model.HibernateToDoListDAO.getInstance().getUsersList();
                    for(User user : usersList)
                    {
                        if(user.getName().equals(username) && user.getPassword().equals(password))
                        {
                            Cookie cookie = new Cookie("UserId", username);
                            cookie.setPath("/");
                            response.addCookie(cookie);
                            request.getSession().setAttribute("UserID", username);
                            request.getSession().setAttribute("table", HibernateToDoListDAO.getInstance().getItemsList(username));
                            dispatcher = getServletContext().getRequestDispatcher("/view.jsp");
                            break;
                        }   
                    }
                }
                else
                {
                    dispatcher = getServletContext().getRequestDispatcher("/wronglogin.jsp");
                }

            } catch (ToDoListPlatformException e) {

                dispatcher = getServletContext().getRequestDispatcher("/wronglogin.jsp");
            }

            break;
        }

        dispatcher.forward(request, response);
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }
}

当我在登录jsp页面上输入用户名和密码并点击提交时,这两个属性都显示在URL行中。

这就是我得到的:

http://localhost:8080/ToDoListProj/controller/login?username=usernamesample&password=passwordasmple

我该怎么解决?

共有3个答案

秦诚
2023-03-14

<代码>

郑旭
2023-03-14

使用Http POST而不是GET:

在JSP中

<form name="login" action="controller/login" method="post"

控制器中:

protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
    // read login data from request like you do now in doGet...
上官淮晨
2023-03-14

您应该将method="get"更改为method="post"

GET方法将数据添加到URL中,就像您的情况一样。在处理auth. form时,不要使用get方法。

 类似资料:
  • 如果我设置<code>。将ListBox的RowSource属性转换为NamedRange,然后在UserForm的VBA显示和UserForm Excel显示中都可以选择行源。然而,对于组合框,我只能在VBA显示器上看到这一点。如果在设置<代码>之后。RowSource属性我尝试我得到。 如何使用命名区域作为组合框下拉选项的来源?

  • 我不是很好的PHP,但是下面的代码是工作之前,我改变了thr主机名。 错误 警告:mysqli_connect():(28000/1045):用户'je_user'@'ip-160-153-162-16.ip.secureserver.net'(使用密码:是)在第7行的 /home/justdb/public_html/upload_image.php访问被拒绝 注意:未定义索引:第9行 /hom

  • 问题内容: 我使用以下代码从URL预览图像。 但是图像无法在用户界面中预览。有没有一种特殊的方法可以从Blackberry中的URL预览图像。(我是说,应将图像放入一个临时数组中以预览图像吗?)谢谢 问题答案: 试试这个 - // URLBitmapField类在下面给出-

  • 问题内容: } “此POJO在JPA中将初始值为1001,在Hibernate中为1作为初始值”还有一个疑问,如何在此处使用注释设置增量步长在JPA中,当我使用增量策略时,它没有问题,但是增量问题 请帮助我,在此先感谢 问题答案: 我只是有同样的问题。它与hibernate的旧生成器和JPA不匹配。 您需要将此添加到您的配置中 请参阅hibernate文档:http : //docs.jboss.

  • 我正在自己学习Oracle的JavaFX教程。在做了很多年(很久以前)之后,我对Swing的新智能功能非常着迷,包括。属性。我惊讶地发现,这些示例(例如:https://docs.oracle.com/javafx/2/ui_controls/table-view.htm)并没有以我认为“正确”的方式使用它们。 该示例创建一个类,其属性为字段: 但是getter不是用于属性,而是用于它们的值

  • 问题内容: 我想要的是具有更改页面一部分的链接,以及它的动态URL,在这里可以指定诸如 单击此处进行精确演示 所以这是我需要的链接格式: 我必须像链接变量和这样我就可以改变一个页面上的多个万物而不realoading。 或诸如http://www.wbhomes.com.au上的另一种格式,这 正是 我想要的,但是第一种格式也不错,但这要漂亮得多。 要求 需要从任何地方访问,例如邮件,或者我只写在