Ich habe ein Servlet, das Parameter von einer HTML-Dropdown-Seite erhält. Beim Klicken auf die Schaltfläche werden die Daten an das Servlet gesendet. Es funktioniert das erste Mal, wenn die Daten gesendet werden. Wenn ich jedoch auf der Seite bleibe und einen anderen Wert aus dem Dropdown-Menü auswähle und auf die Schaltfläche zum Absenden klicke, werden die neuen Daten nicht in die Sitzungsvariable eingegeben.Sitzungsvariable ändert sich nicht über Servlet submit
Mein Servlet ist unten. Muss ich die DoGet
Methode ändern? Wieder funktioniert es das erste Mal, aber die Sitzungsvariable ändert sich danach nicht.
@WebServlet("/ListStudentServlet")
public class ListStudentServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public ListStudentServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String sessid = request.getParameter("studentid");
ArrayList<FactStudentDataBean> result = new ArrayList<>();
try (Connection con = JdbcUtil.getConnection()) {
String sql= "select F.Sessionid "
+ "from FACT_STUDENT F "
+ "where studentid = '"+sessid+"';";
try (Statement st = con.createStatement()) {
ResultSet rs = st.executeQuery(sql);
while (rs.next()){
result.add(new FactStudentDataBean(rs.getString(1)));
}
for (FactStudentDataBean factStudentDataBean : result) {
sessid = factStudentDataBean.getSessid();
}
} catch (Exception e) {
e.printStackTrace();
}
}
catch (Exception e) {
e.printStackTrace();
}
//Trying to set the session variable below, works the first time but anything after doesn't change
HttpSession session = request.getSession(true);
session.setAttribute("sessid", sessid);
}
}
'request.getSes verwenden sion (true) 'erstellt eine neue Sitzung, wenn die Sitzung noch nicht existiert. Wird der Sitzungscookie für die nächste Übermittlung festgelegt? –
Wie stelle ich das ein? – thedude865