Web Service对HTML的响应

时间:2018-08-21 10:47:11

标签: java web-services wildfly resteasy java-ee-7

我正在尝试构建一个响应浏览器的Web服务。我是否必须将html代码作为硬编码的string返回,还是有更好的方法?这是一个简单的身份验证服务,需要直接转到考试的主页。我真的对网上的所有教程和答案感到困惑,每个人都有不同的方式来实现Web服务。我在这里想念什么?我在Wildfly 13上使用RestEasy。

HTML通话:

<!DOCTYPE html>
<html>
    <head>
        <title>Login</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    </head>
    <body>
        <h1>Hello</h1>
        <form method="POST" action="resources/login/userlogin" >
            Username: <input type="text" name="Username">
            <br>
            Password: <input type="password" name="Password">
            <br>
            <input type="submit" value="Submit">
        </form>
    </body>
</html>

服务:

@POST
@Path("userlogin")
@Produces(MediaType.TEXT_HTML)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)

public String Authenticate(@FormParam("Username") String Username, @FormParam("Password") String Password) {
LoginToken token = LoginTokenSingleton.instance.getToken(Username, Password);
if (token == null) {
    throw new RuntimeException("POST: User not found");
}
//return the html code for a succesfull login?
return null;

}

1 个答案:

答案 0 :(得分:1)

提交包含POST requestusername的表单时,您正在调用password

用户在后端通过身份验证后,您可以返回Success HTTP status code - 200,并在此基础上将用户重定向到主页。如果用户未通过身份验证,则可以发送Not Authenticated Status Code 401并将用户重定向到其他页面。