Servlet learning notes (3) - Session Management (Operation to the Session) using the Java Servlet API

xiaoxiao2021-03-06  110

Session management using the Java Servlet API

The javax.servlet.http.httpsession interface encapsulates the details of the HTTP session, which is related to multiple requests for the web server with a specific web customer within a period of time. The management session data mainly involves three aspects: session exchange, session restarting and session persistence, only data objects that implement the java.io.Serializable interface can be exchanged, relocated, and hold. This interface is primarily the ability of the object to be serialized, which can write status information of the object such as files, network connections, etc.

Programming: Below is an example of a simple shopping mall, when the user purchases the product (candy, radio and exercise book) into the shopping bag, save the purchased product information.

SHOWBUY.JAVA source code is as follows:

import javax.servlet *;. import javax.servlet.http *;. import java.io *;. import java.util *;. public class ShowBuy extends HttpServlet {public void doGet (HttpServletRequest req, HttpServletResponse res) throws ServletException, java .ioException {string [] Item = {"Candy", "Radio", "Exercise Book"}; // Get Session Object HttpSession Session = Req.getSession (TRUE); // Get Selected Product Number Integer Itemcount = (Interger) Session.getValue ("itemcount"); // If the number is not placed in 0 if (itemcount == null) {itemcount = new integer (0);} // set the content type of the response response .setContentType ( "text / html; charset = gb2312"); PrintWriter out = res.getWriter (); // form information acquired String [] itemsSelected POST up; String itemName; itemsSelected = req.getParameterValues ​​( "item"); // Put the selected item into the session object if (itemsselected! = Null) {for (INT i = 0; i "); out.println (""); Out.Println (" content </ Title>") Out.println ("</ head>"); out.println ("<body>"); out.println ("<center> <h1>) The goods you put in the shopping bag are: </ h1> < / center> "); // Write the content of the shopping bag for the page for (int i = 1; i <itemcount.intValue (); i ) {string item = (string) session.getValue (" item " i) ;</p> <p>// Remove the product name out.println (items [integer.parseint (item)]); out.println ("<br>");} // wrap up out.println ("</ body>"); OUT. Println ("</ html>"); out.close ();} The source code for the client's showbuy.html is as follows:</p> <p><Html> <head> <title> Example of shopping bag </ title> </ head> <body> <center> <h1> department store </ h1> </ center> <hr> <form action = 'servlet / Showbuy "method =" post "> purchase product <p> <input type =" checkbox "name =" item "value =" 0 "> first: candy </ p> <p> <input type =" Checkbox "Name =" item "value =" 1 "> second: radio </ p> <p> <input type =" checkbox "name =" item "value =" 2 "> third: Exercise Book </ P> <hr> <input type = "submit" name = "bt_submit" value = "Add to Shopping Bag"> </ form> </ body> </ html></p> <p>Programming skills description:</p> <p>When performing session management in the servlet, you first get a session object. The httpservletRequest.getSession () object returns the current HttpSession object related to the request, and a new object is created when the object does not exist; HttpServletRequest.getSession (TRUE) implements the same functionality. If the parameter is false, a NULL value will be returned when there is no session object.</p> <p>// Get the session object httpsession session = req.getations (TRUE); // Get the number of items selected Integer Itemcount = (Interger) Session.getValue ("itemcount");</p> <p>When the user selects the product, click the "Add to the Shopping Bag" button, servlet outputs the item selected by the user.</p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-99083.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="99083" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.039</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = '4Wjqsp9uzyUeOeY3MShXqXQXhAqyd6Pzk7f7WHjHfaKWLTffo_2FzFCCouuEkiiQjeh6L7O7NAmZUo_2BWqsLH_2Fppg_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>