如何在Java中保存变量的值

路西法

我有一个要求,我需要保存一个变量的值。我的问题是,我需要将网页中的值第一次发送到servlet,其中变量的值首次为null,但是当我从选择框中选择一个值时,它就进入了servlet,并且正在处理该值,但是我的问题是在这里我需要选择值后刷新页面。因此,现在当我执行该操作时,该值再次变为零且未发生该操作,可以从选择中选择一些值后保存该变量的值吗?

这是我的代码。

   <body>
    Select Country:
    <select id="country">
        <option>Select Country</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>

    </select>

    <input type="button" value="Reload page" onclick="reloadPage()">
</body>


<script>
    function reloadPage(){

        location.reload();
    }
</script>  



 <script>
        $(document).ready(function() {
            $('#country').change(function(event) {  
                var $country=$("select#country").val();
                $.get('JsonServlet',{countryname:$country},function(responseJson) {   
                    var $select = $('#states');                           
                    $select.find('option').remove();                          
                    $.each(responseJson, function(key, value) {               
                        $('<option>').val(key).text(value).appendTo($select);      
                    });
                });
            });
        });          
    </script>

这是我的servlet

public class JsonServlet extends HttpServlet {

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {

    PrintWriter out = response.getWriter();
    String value = request.getParameter("countryname");
    System.out.println("comes from ajax" + value);
    JsonGenerator generator = new JsonGenerator();
    Entry entry = null;
    if (value != null) {

        HttpSession session = request.getSession();

session.setAttribute("value", value);
        entry = generator.aMethod2Json(value);
        Gson g = new Gson();

        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write(g.toJson(entry));


    } else {
        entry = generator.aMethod2Json("1");
        Gson g = new Gson();

        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        response.getWriter().write(g.toJson(entry));


    }



}

// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
 * Handles the HTTP
 * <code>GET</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

/**
 * Handles the HTTP
 * <code>POST</code> method.
 *
 * @param request servlet request
 * @param response servlet response
 * @throws ServletException if a servlet-specific error occurs
 * @throws IOException if an I/O error occurs
 */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    processRequest(request, response);
}

/**
 * Returns a short description of the servlet.
 *
 * @return a String containing servlet description
 */
@Override
public String getServletInfo() {
    return "Short description";
}// </editor-fold>

}

进步

我希望一些代码示例可以为您提供帮助:

一个简单的柜台

为了演示servlet的生命周期,我们将从一个简单的示例开始。例3-1显示了一个servlet,它计算并显示访问它的次数。为了简单起见,它输出纯文本。

示例3-1 一个简单的柜台

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SimpleCounter extends HttpServlet {

  int count = 0;

  public void doGet(HttpServletRequest req, HttpServletResponse res) 
                           throws ServletException, IOException {
    res.setContentType("text/plain");
    PrintWriter out = res.getWriter();
    count++;
    out.println("Since loading, this servlet has been accessed " +
            count + " times.");
  }
}

否则,如果您想要更高级的选择,一个好的选择是使用A Holistic Counter:

示例3-2 整体柜台

import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HolisticCounter extends HttpServlet {

  static int classCount = 0;  // shared by all instances
  int count = 0;              // separate for each servlet
  static Hashtable instances = new Hashtable();  // also shared

  public void doGet(HttpServletRequest req, HttpServletResponse res) 
                           throws ServletException, IOException {
    res.setContentType("text/plain");
    PrintWriter out = res.getWriter();

    count++;
    out.println("Since loading, this servlet instance has been accessed " +
            count + " times.");

    // Keep track of the instance count by putting a reference to this
    // instance in a Hashtable. Duplicate entries are ignored. 
    // The size() method returns the number of unique instances stored.
    instances.put(this, this);
    out.println("There are currently " + 
            instances.size() + " instances.");

    classCount++;
    out.println("Across all instances, this servlet class has been " +
            "accessed " + classCount + " times.");
  }
}

该HolisticCounter使用count实例变量跟踪自己的访问计数,使用classCount类变量跟踪共享计数,并使用实例哈希表(必须是类变量的另一个共享资源)跟踪实例的数量。

参考 Jason的Java Servlet编程

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Java中保存变量的值

来自分类Dev

如何在Retrofit调用中保存变量的值?

来自分类Dev

如何在Postman中保存动态变量的值?

来自分类Dev

如何在Matlab函数中保存变量的先前值

来自分类Dev

如何在CKEditor中保存变量?

来自分类Dev

如何在awk中保存变量?

来自分类Dev

如何在Shiny中保存无功值?

来自分类Dev

如何在函数中保存回声值

来自分类Dev

如何在变量JavaScript中保存递归函数的返回值

来自分类Dev

如何在变量中保存以下查询的值?SQL服务器

来自分类Dev

如何在for循环中保存变量中的值而不在MATLAB中覆盖?

来自分类Dev

如何在php变量中保存javascript变量

来自分类Dev

如何在Java程序中保存数据

来自分类Dev

如何在Java中保存文件

来自分类Dev

如何在Java枚举中保存图像?

来自分类Dev

如何在bash变量中保存psql错误消息输出?

来自分类Dev

如何在python中保存“自我”变量?

来自分类Dev

如何在Android中的AsyncTask中保存变量

来自分类Dev

如何在 PHP 文件中保存变量数据?

来自分类Dev

如何在Haskell中保存列表可变值?

来自分类Dev

如何在Scala中保存十六进制值?

来自分类Dev

如何在MATLAB中保存或更新DICOM图像的更改值

来自分类Dev

如何在wordpress中保存多个复选框的值

来自分类Dev

如何在MongoDb中保存时间戳类型值 爪哇

来自分类Dev

如何在Alamofire中保存对NSDictionary的响应值?

来自分类Dev

如何在KeychainItemWrapper中保存布尔值

来自分类Dev

如何在uicollectionviewcell中保存文本字段值

来自分类Dev

如何在JavaScript中的对象中保存不同的值?

来自分类Dev

Django:如何在modelForm中保存预定义值

Related 相关文章

热门标签

归档