簡體   English   中英

使用Jersey JAX-RS的Java Web服務

[英]Java Web Service using Jersey JAX-RS

我有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頁面。

而不是從您的方法返回String,而是返回一個javax.ws.rs.core.Response。 Response類使用構建器模式,因此您可以:

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

最壞的情況下,您可以手動編寫HTML頁面並將“簽名”方法更改為

@GET
@Produces(MediaType.TEXT_HTML)

如果您是我,那么我將為此使用基於JSP / JSF的Web框架。 作為附帶說明,Jersey通過ViewableJersey&viewable支持現成的JSP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM