admin管理员组

文章数量:1323035

I'm trying to create a simple login feature for my website. I'm using JAVA as backend and I'm trying to use restservices. My school gave me an example of a login system with authication. Unfortunately I'm getting this error: java.lang.IllegalStateException: The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded].

 @POST
 @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
 public Response authenticateUser(@FormParam("username") String username,
 @FormParam("password") String password) {

 <form id='inlogForm' enctype="application/x-www-form-urlencoded" >
    <input type='text' placeholder='username' id='username' />
    <input type='text' placeholder='password' id='password' />
    <input type='button' value='login' id='login' />
    </form>
    </header>   
</body>
<script src=".2.0.min.js"></script>
<script>
    $("#login").click(function(event) {
        var data = $("#loginForm").serialize();
        $.post("restservices/authentication", data, function(response) {
            window.sessionStorage.setItem("sessionToken", response);
            $("#loginForm").hide();
        }).fail(function(jqHXR, textStatus, errorThrown) {
            console.log(textStatus);
            console.log(errorThrown);
            alert("Wrong Username/Password")
        });
    });

I'm trying to create a simple login feature for my website. I'm using JAVA as backend and I'm trying to use restservices. My school gave me an example of a login system with authication. Unfortunately I'm getting this error: java.lang.IllegalStateException: The @FormParam is utilized when the content type of the request entity is not application/x-www-form-urlencoded].

 @POST
 @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
 public Response authenticateUser(@FormParam("username") String username,
 @FormParam("password") String password) {

 <form id='inlogForm' enctype="application/x-www-form-urlencoded" >
    <input type='text' placeholder='username' id='username' />
    <input type='text' placeholder='password' id='password' />
    <input type='button' value='login' id='login' />
    </form>
    </header>   
</body>
<script src="https://code.jquery./jquery-3.2.0.min.js"></script>
<script>
    $("#login").click(function(event) {
        var data = $("#loginForm").serialize();
        $.post("restservices/authentication", data, function(response) {
            window.sessionStorage.setItem("sessionToken", response);
            $("#loginForm").hide();
        }).fail(function(jqHXR, textStatus, errorThrown) {
            console.log(textStatus);
            console.log(errorThrown);
            alert("Wrong Username/Password")
        });
    });
Share Improve this question asked Jun 16, 2017 at 11:19 Sander WiggersSander Wiggers 311 gold badge1 silver badge3 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 3

From the looks of it, you should be using @FormDataParam instead of @FormParam.

I found it here: https://groups.google./forum/#!topic/dropwizard-user/bYyG-Pvk29Y, but still don't quite understand the reasoning.

本文标签: