Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以将HttpServlet请求对象的内容复制到数组列表中?_Java_Web Services_Arraylist - Fatal编程技术网

Java 是否可以将HttpServlet请求对象的内容复制到数组列表中?

Java 是否可以将HttpServlet请求对象的内容复制到数组列表中?,java,web-services,arraylist,Java,Web Services,Arraylist,我想访问HttpServlet请求的内容。为此,我将HttpServlet请求对象分配到arraylist中。这是我编写的web服务代码,请在下面查找我的代码: @Path("/login") public class Login { DBConnection dBConnection = new DBConnection(); static long logintimemilli; @GET @Produces(MediaType.APPLICATION_

我想访问HttpServlet请求的内容。为此,我将HttpServlet请求对象分配到arraylist中。这是我编写的web服务代码,请在下面查找我的代码:

@Path("/login")
public class Login
{
    DBConnection dBConnection = new DBConnection();
     static  long logintimemilli;

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    public String checkLogin(@QueryParam("username")String username,@QueryParam("password")String password,@QueryParam("clientid")String clientno,@QueryParam("callback")String callback,@Context HttpHeaders headers,@Context HttpServletRequest request)
    {

        JSONObject loginresult = new JSONObject();

        try
        {
            String query = QuerySelector.getQuery("user.checklogin");
            loginresult = dBConnection.queryForJSONObject(query, username,password,clientno);


                 ArrayList<String> user= new ArrayList <String>();
        HttpSession session = request.getSession();

      user   =  (ArrayList<String>) (List) session.getAttribute("USER");               
                insertauditList(user,ip);


        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }
        return callback + "(" + loginresult.toString() + ")" ;
    }

   public void insertauditList(ArrayList<String> user,String ip)
    {     

       try
        {    


   for (String s : user) { System.out.printl(s);
}
  //(for the above for loop i am getting a runtime error)      

        }
        catch(Exception ex)
        {
            ex.printStackTrace();
        }

    }







}

根据问题标题,您希望将
HttpServletRequest
内容复制到ArrayList,但在代码中,您试图获取
HttpSession
并从
HttpSession
对象获取属性。在下面的代码中,您可以将请求参数映射复制到
ArrayList

private void showRequestParamaters(HttpServletRequest req) {
    Map<String, String[]> parameterMap = req.getParameterMap();
    List<String> requestParams = new ArrayList<>();
    for (Entry<String, String[]> entry : parameterMap.entrySet()) {
        String[] paramValues = entry.getValue();
        if (paramValues != null) {
            for (String p : paramValues) {
                requestParams.add(p);
            }
        }
    }
    for (String s : requestParams) {
        System.out.println(s);
    }
}
private void showRequestParameters(HttpServletRequest请求){
Map parameterMap=req.getParameterMap();
List requestParams=new ArrayList();
对于(条目:parameterMap.entrySet()){
字符串[]paramValues=entry.getValue();
if(参数值!=null){
for(字符串p:paramValues){
requestParams.add(p);
}
}
}
for(字符串s:requestParams){
系统输出打印项次;
}
}

您遇到了什么错误?下面是我遇到的异常:java.lang.IllegalStateException:getAttribute:Session已失效在您的问题中发布堆栈跟踪。Session.getAttribute(“用户”),你把它放在哪里?像session.setAttribute(“用户”)?和user=(ArrayList)(List)session.getAttribute(“用户”);我觉得不太好。修复getAttribute()非法状态异常后,将获得ClassCastException
private void showRequestParamaters(HttpServletRequest req) {
    Map<String, String[]> parameterMap = req.getParameterMap();
    List<String> requestParams = new ArrayList<>();
    for (Entry<String, String[]> entry : parameterMap.entrySet()) {
        String[] paramValues = entry.getValue();
        if (paramValues != null) {
            for (String p : paramValues) {
                requestParams.add(p);
            }
        }
    }
    for (String s : requestParams) {
        System.out.println(s);
    }
}