Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jax-rs retrieve form parameters

Tags:

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.

Here is my service:

@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.");          }     } } 

Example request:

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 
like image 944
Brian DiCasa Avatar asked Nov 20 '10 17:11

Brian DiCasa


People also ask

What can a JAX-RS method return?

If the URI path template variable cannot be cast to the specified type, the JAX-RS runtime returns an HTTP 400 (“Bad Request”) error to the client. If the @PathParam annotation cannot be cast to the specified type, the JAX-RS runtime returns an HTTP 404 (“Not Found”) error to the client.

What does JAX-RS stand for?

Advertisements. JAX-RS stands for JAVA API for RESTful Web Services. JAX-RS is a JAVA based programming language API and specification to provide support for created RESTful Web Services.


1 Answers

@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.");      } } 
like image 123
Brian DiCasa Avatar answered Oct 20 '22 16:10

Brian DiCasa