Store the session data temporary

Hi
I'm a beginner in JSP, and I started to design a webpage to ebook store site.
I have a problem with saving the session data , because i didn't want to use data base in may site. and that data will used in the later pages in the web site.
as example : if the user needed to add more than one item to his\here cart , then all that items must appeared in the page named view cart .
so please help me.....

for u store data in a session u have
Declare session object
---HttpSession session =getSession(true);
session.setAttribute("key",value);
if u want to the data added in a different u have to just
Object obj =session.getAttribute("key",value);
if(obj != null)
String str =(String)obj;
System.out.println("value is ===" + str);
}

Similar Messages

  • How can we reset the session data in SAP ISA B2B application.

    com.sap.isa.isacore.action.IsaCoreInitAction$StartupParameter this action class providing the special feature to store all data passed to it in the request as parameters into the session context and make them available for all other actions.
    1. But in the inner class they had defined private parametrized constructor.
    2. Action class is defined as final.(there is no chance to override the method)
    3. There is no setter method (only getter() is available).
    4. Creating a new Z_ class that is reflecting in entire application.
    5.They had hard coded the Session attribute name in Action class.
    6. Application is expecting a session object with the same attributes.
    Is there any chance to create a new object for this class or any where any chance to reset the session data. Am using the Multiple_SoldTO concept in my application. My back end ECC .Please help me.
    Advanced Thanks
    PC.M
    Edited by: pmudigonda on Jul 6, 2011 1:21 PM

    I am not sure about your requirement, but yet.. Did you check UserSessionData object? It encompasses all the session variables.

  • How to store jsp session data of different user in util.hashmap

    how to store jsp session data of different user in java.util.hashmap
    and access the data of all user on the server side
    The same example is given in professional jsp but its not working.
    I can use getIds() of httpsessioncontext but it's depricated

    Hi
    I'm trying to make an example.
    With the following codes you can get the date from the session.
    request.getSession().getAttribute("sessionname")
    To store it in a hashmap you could do it like this ->
    Hashmap hm = new Hashmap();
    hm.put(Object key, request.getSession().getAttribute("sessionname"));
    I hope you understand it if not just write it!
    Cyrill

  • How to create a Macro in excel to store the excel data to Oracle Database

    Hi All
    Does anyone has created a macro in excel which on being run stores the excel data to Oracle database. In my project I need to create one such macro for updating oracle database with excel data and another for inserting excel records.
    I tried doing this using a macro in MS access but Client wants its to be done using Excel Macro only.
    Any help would be highly appreciated.
    Thanks in advance..
    Shikha

    Please read Chapter 19.7 Creating Selection Lists (http://download.oracle.com/docs/html/B25947_01/web_complex007.htm#CEGFJFED) of the Oracle® Application Development Framework Developer's Guide For Forms/4GL Developers 10g Release 3 (10.1.3.0)
    Cheers,
    Mick.

  • Verify whether the session data is kept in the Coherence caches

    I have successfully combined the MapViewer application with WebLogic and Oracle Coherence*Web.
    How to verify whether the session data of MapViewer application is kept in the Coherence caches or not?
    All out put show that both of MapViewer and WebLogic server as well as Coherence are running well.
    All the following steps are right?
    The procedure is as the following:
    1. Create a WebLogic domain: Map_domain.
    2. Start the WebLogic domain Map_domain by running startWebLogic.sh script.
    3. Install Coherence.jar as a library on WebLogic.
    4. Copy the coherence.jar in the WAR's WEB-INF/lib directory.
    5. Create a reference to the shared library by modifying the weblogic.xml in web applications WEB-INF directory
    and add the following contents:
    <weblogic-web-app>
         <library-ref>
              <library-name>coherence-web-spi</library-name>
              <specification-version>1.0.0.0</specification-version>
              <implementation-version>1.0.0.0</implementation-version>
              <exact-match>false</exact-match>
         </library-ref>
    <weblogic-web-app>6. Install Coherence-web-spi.war as a WebLogic library.
    7. Install the MapViewer as a WebLogic application.
    8. Start a Coherence cache server using the cmd file web-cache-server.cmd and then start MapViewer application.
    The content of web-cache-server.cmd file:
    @echo off
    @rem This will start a cache server
    setlocal
    :config
    @rem specify the Coherence installation directory
    set coherence_home=F:\coherence
    @rem specify the JVM heap size
    set memory=256m
    :start
    if not exist "%coherence_home%\lib\coherence.jar" goto instructions
    if "%java_home%"=="" (set java_exec=java) else (set java_exec=%java_home%\bin\java)
    :launch
    set java_opts="-Xms%memory% -Xmx%memory%"
    "%java_exec%" -server -showversion "%java_opts%" -cp %coherence_home%\lib\coherence.jar;
    %coherence_home%\lib\coherence-web-spi.war
    -Dtangosol.coherence.management.remote=true
    -Dtangosol.coherence.cacheconfig=WEB-INF/classes/session-cache-config.xml
    -Dtangosol.coherence.session.localstorage=true
    com.tangosol.net.DefaultCacheServer %1
    goto exit
    :instructions
    echo Usage:
    echo   ^<coherence_home^>\bin\cache-server.cmd
    goto exit
    :exit
    endlocal
    @echo onEdited by: jetq on Jan 13, 2010 9:32 AM

    Any opinions are welcome.

  • Save the session data in the database !

    Hello everybody,
    I read an article on JavaWorld website about saving the session data of an application in the database instead of mantaing them in memory.
    In this way, the web application is more scalable and in case the application server crashed the session data can be taken by another application server.
    I was sure that this was a good motivation of writing a class to save the session data of my application in the database, but i read another article where a good methodology to
    create a scalable web application was to save the session data in more application server so if one application server crashed another application server can take the control of the entire application.
    I think that at the moment i have just a bit of confusion in my mind.
    Any suggestion ?
    Cheers.
    Stefano

    What you've read was a method of "load balancing" where "state" is maintained by a backend server instead of the web servers themselves. Yes, if done properly, this would achive true web server independance, and if one crashed, another would pick up where it left off. Of course, you'll still need an HTTP load balancer in front of the web server farm, so it can dynamically shift the load.
    From an architecture standpoint, it's a good way to go, but only IF you really need 7x24 with zero downtime. Reason being twofold. 1) It's a huge performance hit, becase each GET/POST requires a trip to the DB, because it's holding state. 2) It's a lot of work, because you're now taking on the role of "managing" sessions (e.g. when to expire, reading the cookie/URL for session IDs.
    I was once responsible for a 7x24 Intranet that ran core business applications. My service level agreement with my customers was 7x24 alright, but with the risk of a possible "blip" (meaning, if one server crashed, simply reconnect and continue your work). Worst case, one lost just that one page worth of work.
    I hope that helps explain!
    bRi

  • Getting the session data.

    Dear all,
              Is there any mechanism by which I can get the session data (processed data/Error data). I want to capture that data in a file and send it to the specific user in a mail.
             quick replies appreciated.
    Thanks in Advance,
    Suresh

    Hi Suresh,
    Look at Reading session log. These two threads will give all the details you need to know about the sessions.
    Srinivas

  • How does Labview stores the binary data - The header, where the actual data starts etc.

    I have problem in reading the binary file which is written by labview. I wish to access the data (which is stored in binary format) in Matlab. I am not able to understand - how the data will be streamed in to binary file (the binary file format) when we save the data in to a binary format through Labview program. I am saving my data in binary format and I was not able to access the same data in Matlab.
    I found a couple of articles which discusses about converting Labview to Matlab but What I really wanna know is - How can I access the binary file in Matlab which is actually written in Labview?
    Once I know the format Labview uses to store its binary files, It may be easy for me to read the file in Matlab. I know that Labview stores the binary files in Big Endian format which is
    Base Address+0 Byte3
    Base Address+1 Byte2
    Base Address+2 Byte1
    Base Address+3 Byte0
    But I am really confused about the headers, where the actual data start. Hence I request someone to provide me data about - How Labview stores the Binary Data. Where does the original data start. Below attached is the VI that I am using for writing in to a binary file.
    Attachments:
    Acquire_Binary_LMV.vi ‏242 KB

    Hi Everybody!
    I have attached a VI (Write MAT file.vi - written in LabVIEW 7.1) that takes a waveform and directly converts it to a 2D array where the first column is the timestamps and the second column is the data points. You can then pass this 2D array of scalars directly to the Save Mat.vi. You can then read the .MAT file that is created directly from Matlab.
    For more information on this, you can reference the following document:
    Can I Import Data from MATLAB to LabVIEW or Vice Versa?
    http://digital.ni.com/public.nsf/websearch/2F8ED0F588E06BE1862565A90066E9BA?OpenDocument
    However, I would definitely recommend using the Matlab Script node (All Functions->Analyze->Mathematics->Formula->Matlab Script). In order to use the Matlab Script node, you must have Matlab installed on the same computer. Using the MatlabScript node, you can take data generated or acquired in LabVIEW and save it directly to a .mat (Matlab binary) file using the 'save' command (just like in Matlab). You can see this in example VI entitled MathScriptNode.vi - written in LabVIEW 7.1.
    I hope this helps!
    Travis H.
    LabVIEW R&D
    National Instruments
    Attachments:
    Write MAT file.zip ‏189 KB

  • How can I store the previous data elements in labview

    Hello,
        I am
    using PXI1042Q chassis with 8106 microcontroller and PXI 6289 DAQ
    cards. I am implementing a real time system where we acquire data
    point-by-point.  I would like to know if there is any way that I
    can store previous 500 sample points. I know that shift registers can
    be used to store values from previous cycles. It seems impractical to
    insert 500 shift registers in to system. Is there any way to store the
    previous 500 samples?
    Thanks,
    kartik 

    altenbach wrote:
    For better memory performance, you would use a fixed size=500 array and replace the oldest element with the newest at each iteration. Keep track of the current element index with another shift regsiter.
    Here is an old example tha keeps the last 10 values in a size=10 shift register and calculates the mean.
    Modify as needed.
    Information about action engines can be found here.
    There is also the "collector express VI". Since it uses dynamic data, it's probably more demanding on resources.
    LabVIEW Champion . Do more with less code and in less time .

  • How to store the XML data? file or database?

    i'm frustrate at it.
    If store XML data into files, then when i query any data,how can i search data using relationship as SQL?
    But if store XML data into database.How can i transform the xml data to the data table?
    Can any one give me an clear example.

    XML is perfect for data interchange and readability. However, to make it searchable you should resolve it properly into tables, in accordance of your own choice of model.
    1. Investigate the XML files and resolve the model
    <Person sex="male">John
    <Pet animal="dog">Doggy</Pet>
    <Pet animal="cat">Catty</Pet>
    </Person>
    2. Create the tables in your database, let one or several tables keep the raw xml for retrieval of original xml data.
    --- XMLDocument ---
    id XML_data
    --- Person ---
    id XML_Document_id sex name
    (foreign key)
    --- Pet ---
    id Person_id animal name
    (foreign key)
    3. Resolve data from the xml files and insert it into the database. Do this through your ContentHandler, or from your DOM model.
    --- XMLDocument ---
    id XML_data
    0 <Person>...</Person>
    --- Person ---
    id XML_Document_id sex name
    0 0 male John
    --- Pet ---
    id Person_id animal name
    0 0 dog Doggy
    1 0 cat Catty
    Gil

  • How to store the member data of an object?

    hi,
        how do i store the data member of an object in labview? I want the data to be available from a different vi as well. i'll cretae an object and would set some attributes to it. So when i call this object by its name from a different vi, i want the attributes that was set to the object to be displayed. how do i achieve this.
    Regards
    Jayaraman

    If the only thing you need is a container to store values, then, as I mentionned in your other post:
    Do a search on "Action Engine" within this forum.  A sub-section of Action Engines is something called a "Functional Global Variable".
    You can also do a search on that.  Functional Global Variables are VERY different from Globals or Shared Variables.  They are often used as a container to store values and allow to share among VI's.  It only retains the last value written to it (unless you modify the structure but I won't get into that). 
    Here is an example of what an AE looks like: http://forums.ni.com/ni/board/message?board.id=170&view=by_date_descending&message.id=311549#M311549
    Another Action Engine example: http://forums.ni.com/ni/board/message?board.id=170&view=by_date_descending&message.id=289773#M289773
    Nugget on Action Engine: http://forums.ni.com/ni/board/message?board.id=170&view=by_date_ascending&message.id=240328
    Simple explanation of Functional Globals: http://forums.ni.com/ni/board/message?board.id=170&view=by_date_descending&message.id=56747#M56747

  • I need the session data tied to crash report bp-0a1c605d-a94c-453b-9e08-e60ab2120911

    I spent a good chunk of time Sunday November 10th trimming the number of tabs I had. I closed 900 of them. I was about to restore session after a crash today when the circuit was overloaded. As a result, the "Previous Session" became the Firefox start page. The last version of sessionstore.js is from November 2nd, and sessionstore.bak was last saved on November 5th, so that route's no good. The crash report however was submitted earlier today.

    hello, a crash report does not contain your session data - the only thing that gets submitted is the url of the site that was open & active once firefox crashed.

  • How to store the measured data in a new array

    we want to put the measured data in a new array and then use this array to plot the SPC chart. Can anyone provide some suggestions?

    are you using some kind of data acquisition? If you reading in a loop you can build an array using the autoindexing tunnel (best way). Or you can use the build array function with a shift register inside a loop. Can you post an example?
    BJD1613
    Lead Test Tools Development Engineer
    Philips Respironics
    Certified LV Architect / Instructor

  • Where to store the password data for  exiting user in Elgamal Algorithm

    hi,
    i am doing a project in Intelligent security in java using Elagamal algorithm. The feature of Elgamal is that the password is not stored in database . Then where is the password is stored to check for a existing user .
    If i am an existing user then when i type the username and password then it should check or compare and tell that password is right or wrong . so where is the password is stored to compare ?? please give me the coding in java .
    i need the coding immediately , of how to get the password and to store and then to compare where the user is correct else message should display "type the correct password".
    Given below is my Main window coding plz help me where to include the coding,
         This simple extension of the java.awt.Frame class
         contains all the elements necessary to act as the
         main window of an application.
    // LOGIN WINDOW ( FIRST WINDOW ) FOR LOGIN AND EXISTING USER
    import java.awt.*;
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.sql.*;
    import java.math.*;
    import java.security.*;
    import java.io.IOException;
    import javax.crypto.Cipher;
    import javax.crypto.IllegalBlockSizeException;
    import javax.crypto.KeyGenerator;
    import javax.crypto.SecretKey;
    public class Smart extends Frame
         public Smart()
              // This code is automatically generated by Visual Cafe when you add
              // components to the visual environment. It instantiates and initializes
              // the components. To modify the code, only use code syntax that matches
              // what Visual Cafe can generate, or Visual Cafe may be unable to back
              // parse your Java file into its visual environment.
              //{{INIT_CONTROLS
              setLayout(null);
              setBackground(new java.awt.Color(255,247,192));
              setSize(1200,900);
    // 157,135,178
              setVisible(false);
              label1.setText("USERID");
              add(label1);
              label1.setFont(new Font("Dialog", Font.PLAIN, 14));
              label1.setBounds(315,180,84,48);
              label2.setText("PASSWORD");
              add(label2);
              label2.setFont(new Font("Dialog", Font.PLAIN, 14));
              label2.setBounds(315,260,100,40);
              textField1.setBounds(430,180,216,36);
              //textField1.setBackground(new java.awt.Color(196,197,233));//textfieldcolor
              add(textField1);
              textField2.setEchoChar('*');
              //textField2.setBackground(new java.awt.Color(196,197,233));
              add(textField2);
              textField2.setBounds(430,260,213,36);
              button1.setLabel("SUBMIT");
              add(button1);
              button1.setBackground(new java.awt.Color(196,197,233));
              button1.setBounds(320,360,120,40);
              button2.setLabel("CLEAR");
              add(button2);
              button2.setBackground(new java.awt.Color(196,197,233));
              button2.setBounds(520,360,120,40);
              label3.setText("REGISTRATION FORM");
              add(label3);
              label3.setFont(new Font("Dialog", Font.BOLD, 20));
              label3.setBounds(324,54,550,80);
              button3.setLabel("NEW USER REGISTRATION");
              add(button3);
              button3.setBackground(new java.awt.Color(196,197,233));
              button3.setBounds(369,450,232,40);
              //add(textArea1);
              //textArea1.setBounds(0,360,576,52);
              setTitle("LOGIN PHASE Application");
              /*int mStrength = 16;
              SecureRandom mSecureRandom = new SecureRandom();
              p = new BigInteger(mStrength, 16, mSecureRandom);*/
              //{{INIT_MENUS
              //{{REGISTER_LISTENERS
              SymWindow aSymWindow = new SymWindow();
              this.addWindowListener(aSymWindow);
              SymAction lSymAction = new SymAction();
              button1.addActionListener(lSymAction);
              button2.addActionListener(lSymAction);
              button3.addActionListener(lSymAction);
         public Smart(String title)
              this();
              setTitle(title);
    * Shows or hides the component depending on the boolean flag b.
    * @param b if true, show the component; otherwise, hide the component.
    * @see java.awt.Component#isVisible
    public void setVisible(boolean b)
              if(b)
              setLocation(50, 50);
              super.setVisible(b);
         public static void main(String args[])
         try
                   //Create a new instance of our application's frame, and make it visible.
              (new Smart()).setVisible(true);
              catch (Throwable t)
                   System.err.println(t);
                   t.printStackTrace();
                   // Ensure the application exits with an error condition.
                   System.exit(1);
              public void addNotify()
              // Record the size of the window prior to calling parents addNotify.
              Dimension d = getSize();
              super.addNotify();
              if (fComponentsAdjusted)
                   return;
              // Adjust components according to the insets
              setSize(getInsets().left + getInsets().right + d.width, getInsets().top + getInsets().bottom + d.height);
              Component components[] = getComponents();
              for (int i = 0; i < components.length; i++)
                   Point p = components.getLocation();
                   p.translate(getInsets().left, getInsets().top);
                   components[i].setLocation(p);
              fComponentsAdjusted = true;
         // Used for addNotify check.
         boolean fComponentsAdjusted = false;
         //{{DECLARE_CONTROLS
         java.awt.Button button1 = new java.awt.Button();
         java.awt.Button button2 = new java.awt.Button();
         java.awt.Label label1 = new java.awt.Label();
         java.awt.Label label2 = new java.awt.Label();
         java.awt.Label label3 = new java.awt.Label();
         java.awt.Button button3 = new java.awt.Button();
         java.awt.TextField textField1 = new java.awt.TextField();
         java.awt.TextField textField2 = new java.awt.TextField();
         java.awt.TextArea textArea1 = new java.awt.TextArea();
         //BigInteger p;
         //{{DECLARE_MENUS
         class SymWindow extends java.awt.event.WindowAdapter
              public void windowClosing(java.awt.event.WindowEvent event)
                   Object object = event.getSource();
                   if (object == Smart.this)
                        Smart_WindowClosing(event);
         void Smart_WindowClosing(java.awt.event.WindowEvent event)
              System.exit(0);
         class SymAction implements java.awt.event.ActionListener
              public void actionPerformed(java.awt.event.ActionEvent event)
                   Object object = event.getSource();
                   if (object == button1)
                        button1_ActionPerformed(event);
                   else if (object == button2)
                        button2_ActionPerformed(event);
                   else if (object == button3)
                        button3_ActionPerformed(event);
         void button1_ActionPerformed(java.awt.event.ActionEvent event)
              //try{
              String ids = textField1.getText();
              String pss = textField2.getText();
              byte [] bt = ids.getBytes();
              BigInteger id = new BigInteger(bt);
              //by samy byte [] bts = pss.getBytes();
              //BigInteger ps = new BigInteger(bts);
         int mStrength = 16;
         SecureRandom mSecureRandom = new SecureRandom();
         BigInteger p = new BigInteger(mStrength, 16, mSecureRandom);
         System.out.println("p = "+p.toString(16));
         BigInteger g = new BigInteger(mStrength - 1, mSecureRandom);
         System.out.println("g= "+g.toString(16));
         BigInteger x = new BigInteger(mStrength - 1, mSecureRandom);
         System.out.println("x="+x.toString(16));
         //byte[] bt = id.getBytes();
         BigInteger idb = new BigInteger(bt);
         //System.out.println("id= "+idb.toString(16));
         BigInteger ps = idb.modPow(x, p);
         //String pw = new String("pass = "+ps.toByteArray());
         System.out.println("ps ="+ps.toString(16));
         BigInteger r =null;
    BigInteger ONE = BigInteger.valueOf(1L);
    BigInteger p_1 = p.subtract(ONE);
    SecureRandom sr = new SecureRandom();
    do {
    r = new BigInteger(p.bitLength(), sr);
    } while (r.compareTo(ONE) <= 0 || r.compareTo(p_1) >= 0);
         System.out.println("r= "+r.toString(16));
         BigInteger c1 =idb.modPow(r,p);
         System.out.println("c1= "+c1.toString(16));
         long time = System.currentTimeMillis();
         System.out.println("TIME ="+time);
         BigInteger one = new BigInteger( new Integer(1).toString());
         BigInteger T = new BigInteger( new Long(time).toString());
         BigInteger t =T.xor(ps);
         BigInteger t1 = t.mod(p.subtract(one));
         System.out.println("t="+t1.toString(16));
         BigInteger M = idb.modPow(t1, p);
         System.out.println("M="+M.toString(16));
         int rnd = r.intValue();
         BigInteger c2 =ps.modPow(r,p).multiply(M).mod(p);
         System.out.println("c2 ="+c2.toString(16));
         //(bia[0].modPow(a, p).modInverse(p)).multiply(bia[1]).mod(p);
         BigInteger val1 = (c1.modPow(x,p).modInverse(p)).multiply(c2).mod(p);
         BigInteger val2 = id.modPow(t1,p);
         System.out.println(val1.toString(16));
         System.out.println(val2.toString(16));
    send s=new send();
    // }catch( IOException e){
    //System.out.println("Exception caught ") ; }     
    //     catch( Exception e){
    //System.out.println("Exception caught ") ; }               
         void button2_ActionPerformed(java.awt.event.ActionEvent event)
              textField1.setText("");
              textField2.setText("");
         void button3_ActionPerformed(java.awt.event.ActionEvent event)
         {   Security s1 = null;
              try
    System.out.println("this is in Smart ");
         //Create a new instance of our application's frame, and make it visible.
              s1 = new Security();
              s1.setVisible(true);
              catch (Throwable t)
                   System.err.println(t);
                   t.printStackTrace();
                   //Ensure the application exits with an error condition.
                   System.exit(1);
              //s1.dispose();     

    Hi SaMolPP,
    You should try to use the existing ULS logging, following article is for 2010 but should also work in 2013 :
    http://geekswithblogs.net/venkatx5/archive/2010/12/09/how-to-use-uls-in-sharepoint-2010-for-custom-code.aspx
    No additional lists or databases needed.
    Hope this helps

  • Suppress the session data in URL display

    we have afrLoop=401202924205955&afrWindowMode=0&_adf.ctrl-state=zpx91q8vg_4 appended to the url
    http://host1.example.com/sbat_int/faces/Main.jspx?_afrLoop=401202924205955&_afrWindowMode=0&_adf.ctrl-state=zpx91q8vg_4
    We want to show only this part:
    http://host1.example.com/sbat_int/faces/Main.jspx
    in the browser window
    where should the changes be made?
    Thanks
    Prashanth

    Prashanth,
    These are used to maintain the state of the application (request etc). Any specific reason why do you want to remove them? As John mentioned, you cannot remove them.
    -Arun

Maybe you are looking for

  • How to retirve data in the same sequence as it is entered by user.

    Dear All, Can anybody please help me to resolve the below oaf issue. Issue : In one of the column in advanced table is OAMessageTextInputBean. User will enter data as 1) color 2) size 3) name. I set the properties of Text inputBean Heigth and length.

  • Can I migrate files to Mac from PC using iCloud?

    We have just got an iMac and I have been trying to migrate files etc. from our old PC using Migration Assistant, but to no avail. PC says Mac is trying to connect, Mac says it has found PC but that is as far as I can get! Has anyone any suggestion? I

  • Cannot import jpg photos into iPhoto'09

    Before posting, I tried to read previous posts and Google'd the issue, but I have not found a solution that works. Someone sent us pictures from our recent trip to Disney World. I downloaded the pictures to a folder under the Download folder. The pic

  • Gift for someone in the U.S, payment problems...

    Hi! I have a problem since I want to buy a gift for a family member that lives in the us and pay it with my Swedish card. It said that the billing address must be within the US, is it possible to write the family members address or does the credit ca

  • I web 09 has lost my website-and scrambled the published version PLEASEHELP

    I worked on my business website this afternoon and finally after three weeks of work I finished it. I then published it to a folder on the desktop to FTP later tonight. This is a procedure that I have followed without issue until today. When I went b