使用 Jersey JAX-RS 的 Java Web 服务

标签 java

我有一个 Web 服务类,当 HTML 登录页面调用该类时,它会返回搜索的用户名,如下所示:

package com.paybyphone.dao;

import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.FormParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;

import com.paybyphone.model.MyDatabase;

@Path("/WebService")
public class LoginService {

    @POST
    @Path("/login")
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    public String login(@FormParam("userName") String userName) {
        return getAllUsersList(userName.trim());
    }

    public String getAllUsersList(String userName) {
        try {
            // MyDatabase.createRegTable();
            // MyDatabase.insertRecords();
            MyDatabase rd = new MyDatabase();
            List<UserVO> userList = null;
            userList = MyDatabase.SelectAllRecords();
            for (UserVO userVO : userList) {

                String name = userVO.getUserName().trim();
                if (name.equalsIgnoreCase(userName)) {
                    return "Logged in User:" + userName;
                }
            }
        } catch (Exception e) {
            System.out.println("error");
        }
        return "You are not a Valid User";
    }
}

拜托!如果找到用户名,有人可以帮助我如何重定向到另一个 HTML 页面,而不是返回它。

最佳答案

不要从方法中返回字符串,而是返回 javax.ws.rs.core.Response。 Response 类使用构建器模式,因此您可以:

if (loginCheckingMethod(login)) {
    return Response.seeOther(uri).build();
}

关于使用 Jersey JAX-RS 的 Java Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17809426/

相关文章:

java - 在 HandlerInterceptor 中访问请求范围的 bean

java - MigLayout LC::fill() 无需调整组件大小

java - 消息: Missing PDF in PrimeFaces Extensions DocumentViewer

java - 将文件保存在磁盘上

java - 贪心算法给出可疑结果

java - 无法让 Log4j 数据库日志记录工作

java - 设置背景(新颜色());在 Java 中不理解给定的 RGB 值

java - Spring Security Login with a twist : users must activate their account before login

java - 从流中收集对

java - 在java中使用for循环生成一些文本文件?