Java EE:从POST获取参数以获取登录表单

编程入门 行业动态 更新时间:2024-10-24 05:15:37
本文介绍了Java EE:从POST获取参数以获取登录表单的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试图实现一个简单的登录servlet,但它无法正常工作。

我想知道的是是如何通过使用HTTP POST的参数。它已经与HTTP GET一起使用,但用户名和密码可以从URL中看到。

< form method =postaction =home> < input name =usernameclass =form-logintitle =Usernamevalue =size =30maxlength =2048/> < input name =passwordtype =passwordclass =form-logintitle =Passwordvalue =size =30maxlength =2048/> < input type =submitvalue =连接> < / form>

web.xml

< servlet> < servlet-name>主页< / servlet-name> < servlet-class> controller.HomeController< / servlet-class> < / servlet> < servlet-mapping> < servlet-name>主页< / servlet-name> < url-pattern> / home< / url-pattern> < / servlet-mapping>

Servlet:

公共类HomeController扩展HttpServlet { 私有HttpSession会话; 私人UserBean userBean; public void doPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException { UserBean user = new UserBean(); String userName = request.getParameter(username); String password = request.getParameter(password); user.setUsername(userName); user.setPassword(password); user = UserDAO.login(user); dispatch(request,response,ApplicationRessource.getInstance()。getHomePage()); protected void dispatch(HttpServletRequest请求, HttpServletResponse响应,String页面)抛出javax.servlet.ServletException,java.io.IOException { RequestDispatcher dispatcher = getServletContext() .getRequestDispatcher(page); dispatcher.forward(request,response); $ / code $ / pre

问题在于 userName 和 password 字符串始终为空,这意味着永远不会从POST中获取参数。我做错了什么?

解决方案

它应该可以工作,您可以通过更改表单方法来获取并尝试检查,您应该看到参数在url中。

I am trying to implement a simple login servlet but it's not working properly.

What I wanted to know is how to pass the parameters using a HTTP POST. It already works with HTTP GET but the username and password are visible from the URL. It would be better to hide them in a POST.

<form method="post" action="home" > <input name="username" class="form-login" title="Username" value="" size="30" maxlength="2048" /> <input name="password" type="password" class="form-login" title="Password" value="" size="30" maxlength="2048" /> <input type="submit" value="Connect"> </form>

web.xml

<servlet> <servlet-name>home</servlet-name> <servlet-class>controller.HomeController</servlet-class> </servlet> <servlet-mapping> <servlet-name>home</servlet-name> <url-pattern>/home</url-pattern> </servlet-mapping>

Servlet:

public class HomeController extends HttpServlet { private HttpSession session; private UserBean userBean; public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { UserBean user = new UserBean(); String userName = request.getParameter("username"); String password = request.getParameter("password"); user.setUsername(userName); user.setPassword(password); user = UserDAO.login(user); dispatch(request, response, ApplicationRessource.getInstance().getHomePage()); } protected void dispatch(HttpServletRequest request, HttpServletResponse response, String page) throws javax.servlet.ServletException, java.io.IOException { RequestDispatcher dispatcher = getServletContext() .getRequestDispatcher(page); dispatcher.forward(request, response); } }

The problem is that the userName and password strings are always empty, meaning that the parameters are never fetched from the POST. What am I doing wrong?

解决方案

it should work, can you check by changing form method to get and trying, you should see parameters in url.

更多推荐

Java EE:从POST获取参数以获取登录表单

本文发布于:2023-10-09 18:34:27,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表单   参数   Java   EE   POST

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!