Java Http-сессия - PullRequest
       44

Java Http-сессия

0 голосов
/ 24 марта 2020

Я пытаюсь создать систему токенов для моего веб-сервиса REST API, используя Maven / Jersey.

Это код, который я написал до сих пор:

public class Servlet extends HttpServlet{
private Connection con;
private Statement stmt;
private String sql; 
Profiles pProfile;

public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
    try {
        resp.setContentType("application/json");
        String mandant = req.getParameter("mandant"); 
        String werk = req.getParameter("werk"); 
        int personalnummer = Integer.parseInt(req.getParameter("personalnummer"));
        getProfileFromDatabase(personalnummer);
        if (pProfile.getMandant() == mandant && pProfile.getWerk() == werk && pProfile.getPersonalnummer() == personalnummer) {
            HttpSession session = req.getSession();
            session.setAttribute("mandant", mandant);
            session.setAttribute("werk", werk);
            session.setAttribute("personalnummer", personalnummer); 
        }
    } catch(Exception exp) {
        exp.printStackTrace();
    }
} 

public Profiles getProfileFromDatabase(long personalnummer) {
    try {
        Class.forName("com.mysql.cj.jdbc.Driver"); 
        con = DriverManager.getConnection("jdbc:mysql://localhost/userdatenbank?useUnicode=true&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=GMT", "root", "adminadmin123");
        stmt = con.createStatement();
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (SQLException e) {
        e.printStackTrace();
    } 
    pProfile = new Profiles();
    try {
        sql = "select * from profiles where personalnummer=" + personalnummer; 
        ResultSet res = stmt.executeQuery(sql);

        if (res.next()) {
            pProfile.setPersonalnummer(res.getInt(1));
            pProfile.setWerk(res.getString(5)); 
            pProfile.setMandant(res.getString(6)); 
        }
        stmt.close();
        res.close();
        con.close();
    } catch (SQLException e) {
        e.printStackTrace();
    }
    return pProfile; 
}

Но я не знаю, что мне с ним делать сейчас ... У меня есть класс Resource, который обрабатывает все Http-запросы вроде @GET @POST @PUT ... но я не знаю, как реализовать это сейчас, чтобы пользователь получал идентификатор сеанса при входе в мое приложение.

Может быть, кто-нибудь может мне помочь!

...