当前位置: 首页 > 面试题库 >

jax-rs检索表单参数

朱阳曜
2023-03-14
问题内容

我正在尝试使用HttpServletRequest从发布的表单中检索传递给jax-
rs的一些参数。但是,我的请求对象始终为我的参数返回空值。我不是要这样做吗?我已经在下面发布了代码,并发送了示例请求。

这是我的服务:

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

    }
}


 类似资料:
  • 我有这个实体类 } 从数据库表生成。那么我有这个Rest服务 我(应该)使用jackson API来处理json,但我没有使用maven。因此,我在构建路径中添加了以下内容。罐: jackson-annotations-2.9.3。罐子 jackson-core-2.9.3。罐子 jackson-databind-2.9.3。罐子 jackson-jaxrs-base-2.9.3。罐子 jacks

  • JAX-RS (JSR 311) 是一个社区驱动的标准用于使用 Java 构建 RESTful Web 服务。

  • 我的jax-rs应用程序的方法: 工作正常。但是,如果修改: 我收到一个错误 服务器Jboss 7.1.1 请告诉我怎么了。 PS.sorry我的英语不好。

  • 问题内容: 使用JAX-RS和(java8)时出现问题。 我想使用JSON将这样的对象传递到JAX-RS方法中: 我得到的异常是: :没有合适的构造找到型[简单的类型,类在[来源不能实例从JSON对象(需要添加/启用类型信息)::] ; 行:2,列:3] 如何创建某种将json-dates映射到的拦截器?我尝试实现a ,但是如果is是另一个类中的 字段 ,则我必须为每个持有a的类编写一个(据我所知

  • 使用JAX-RS和(java8)时出现问题。 我想使用JSON将这样一个对象传递到JAX-RS方法中: 我得到的例外是:

  • JAX-RS教程提供了JAX-RS API的概念和示例。 这个JAX-RS教程专为初学者和专业人士设计。 JAX-RS API有两个主要实现。它们分别如下 - Jersey RESTEasy 如下图示 - RESTful JAX-RS示例(Jersey) https://www.xnip.cn/web_service/jax-rs-example-jersey.html JAX-WS注释示例 ht