jax-rs检索表单参数 [英] jax-rs retrieve form parameters
本文介绍了jax-rs检索表单参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用HttpServletRequest检索从已发布表单传递给jax-rs的一些参数。但是,我的请求对象始终为我的参数返回空值。我不是以正确的方式去做这件事吗?我已经发布了以下代码,以及发送的示例请求。
I'm trying to retrieve some parameters that are passed to jax-rs from a posted form with the HttpServletRequest. However, my request object is always returning null values for my parameters. Am I not going about this the right way? I've posted the code below, along with an example request that is getting sent.
这是我的服务:
@Path("/")
@Stateless
public class HomeController {
@Context
private HttpServletRequest request;
@Context
private HttpServletResponse response;
@EJB
private LoginServiceLocal loginService;
@POST
@Path("/authenticate")
@Consumes("application/x-www-form-urlencoded")
public void authenticate() throws Exception {
String email = request.getParameter("email");
String password = request.getParameter("password");
if (loginService.authenticate(email, password)) {
response.sendRedirect("/app");
} else {
request.setAttribute("authenticationError", "Invalid email/password.");
}
}
}
示例请求:
POST http://localhost:8081/cheetah-web/authenticate HTTP/1.1
Host: localhost:8081
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost:8081/cheetah-web/login
Cookie: JSESSIONID=a4e7aec0624206ad33754e35cce4
Content-Type: application/x-www-form-urlencoded
Content-Length: 39
email=unit%40test.com&password=testpass
推荐答案
@POST
@Path("/authenticate")
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public void authenticate(@FormParam("email") String email, @FormParam("password") String password) throws Exception {
if (loginService.authenticate(email, password)) {
response.sendRedirect("/app");
} else {
request.setAttribute("authenticationError", "Invalid email/password.");
}
}
这篇关于jax-rs检索表单参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文