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

使用POST将参数从JSP发送到Servlet

郑伟彦
2023-03-14

我正在构建一个简单的web应用程序,并尝试创建一个登录页面。该页面由一个带有加载servlet的表单的JSP组成。

<form method="get" action="Login">
Email:<input name="email"/>
Password:<input name="password"/>
<input type="Submit" value="Log in"/>

在servlet中:

@WebServlet(name = "Login", urlPatterns = {"/Login"})
public class Login extends HttpServlet {

/**
* Processes requests for both HTTP
* <code>GET</code> and
* <code>POST</code> methods.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");

//Assign variables from the request parameters
String loginFormEmail = request.getParameter("email");
String loginFormPassword = request.getParameter("password");

这段代码可以工作,但它在URL字符串中包含了用户名和密码,所以这显然不是一个好的做法。我尝试使用POST来实现这一点,但我得到了一个错误。(HTTP状态405-此URL不支持HTTP方法POST)

我需要知道如何使用POST将参数从JSP发送到Servlet。我认为这可能涉及到使用RequestDispatcher对象,但我找到的所有教程都解释了使用RequestDispatcher将数据从Servlet发送到JSP,而不是相反。您是否可以/应该使用Request Dispatcher将POST数据从JSP发送到Servlet?以及如何从servlet访问这些参数?(POST是否有Request.GetParameter()的等价物?)

我知道使用POST仍然不安全,但这比在查询字符串中包含密码要好得多,我稍后会考虑安全性。

抱歉,我在网上找到了很多教程,但没有一个能回答这个具体的问题。谢谢你。

共有1个答案

竺辉
2023-03-14

试试看

<form method="POST" action="Login>

注意:method而不是type用于指定GET/POST。

但它并不比使用GET更“安全”。它们仍然可以在文章正文中以明文形式提供。如果您希望它是安全的,请确保您使用HTTPS。

编辑2

您指定您将获得一个HTTP方法POST不受此URL错误支持。这意味着您的servlet不接受post方法。这很可能意味着您继承了一些只接受get的基本servlet。查看servlet的所有代码将会很有帮助。

 类似资料:
  • 我有一个login JSP,它从文本框中的用户获取用户名/密码,并在提交时使用POST方法将用户名/密码参数转发到login Servlet。 现在我正在使用介于两者之间的Paros代理(作为中间人攻击)来陷阱参数。从JSP接收的参数在Paros中以纯文本形式捕获。

  • 我在JSP页面中有一个带有下拉列表的表单 在我的行动方法中,我正在做以下事情: 它工作得很好,但是我还想发回相同的字符串,这样我就可以将“selected”字符串添加到正确的选项元素中,以便在提交表单时保持选中状态。 现在我正在用我的行动方法做这件事 但我不知道如何将条件逻辑添加到我的jsp中,使其类似于

  • 我有一个api URL:https://orderingspace.com/api/search Body parameter:lat:48.8834553 log:2.3399433 miles:6

  • 问题内容: 我有一个JSP文件为 jsp 1.jsp ,另一个JSP文件为 jsp 2.jsp 我已经包括 JSP 2.jsp 在 JSP 1.jsp页面 使用 现在,我需要某些元素上的click事件。在那件事上,我想将一个字符串变量传递给包含的jsp。 假设我有一个列表,单击它后,我想将该列表的名称转移到另一个JSP, 在另一个JSP中,我试图使用该字符串执行某些任务。 我在没有任何servle

  • POST请求发送json数据java HTTPURLConnection 从Android发送JSON HTTP POST请求 Java-通过POST方法轻松发送HTTP参数 应用程序/x-www-form-urlencoded还是多部分/form-data? 如何使用POST向HttpURLConnection添加参数 JSON解析,创建URLConnection-Android Studio

  • 我对JSP/servlets相当陌生,我一直在研究一些东西,它已经工作了一段时间。我有一个名为'telgir.jsp'的jsp,我从这个jsp向一个名为'tel Kayit'的servlet传递一个URL参数。 在LocalHost上运行时JSP页面的一个示例URL: 当我在servlet中接收到参数时,参数发生了变化,因此无法正确地对其进行解码并获得结果。根据我的研究,我意识到“%”符号使我的代