Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>Autorisation</title>
- </head>
- <body>
- <form action="/auth">
- <div class="container">
- <label><b>Username</b></label>
- <input type="text" placeholder="Enter Username" name="uname" required>
- <label><b>Password</b></label>
- <input type="password" placeholder="Enter Password" name="psw" required>
- <button type="submit">Login</button>
- </div>
- </div>
- </form>
- </body>
- </html>
- package ui.Account;
- import javax.servlet.RequestDispatcher;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import java.io.IOException;
- public class LoginServlet extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- RequestDispatcher dispatcher = req.getRequestDispatcher("Authorization.jsp");
- dispatcher.forward(req,resp);
- HttpSession session=req.getSession();
- String login,password;
- login=req.getParameter("uname");
- password=req.getParameter("psw");
- System.out.println(login+" "+password);
- if((login.equals("admin") || login.equals("admin2")) && password.equals("password")){
- session.setAttribute("login",login);
- resp.sendRedirect("QuizAdd.jsp");
- }
- else resp.getWriter().print("Invalid credentions");
- }
- }
- <filter>
- <filter-name>LoginFilter</filter-name>
- <filter-class>mypackage.filters.LoginFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>LoginFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <servlet>
- <servlet-name>LoginServlet</servlet-name>
- <servlet-class>mypackage.servlets.UserController</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>LoginServlet</servlet-name>
- <url-pattern>/login</url-pattern>
- </servlet-mapping>
- public class LoginFilter implements Filter {
- @Override public void init(FilterConfig config) {}
- @Override public void destroy() {}
- @Override public void doFilter(ServletRequest req,
- ServletResponse res,
- FilterChain chain) throws IOException, ServletException {
- HttpServletRequest request = (HttpServletRequest) req;
- HttpServletResponse response = (HttpServletResponse) res;
- HttpSession session = request.getSession(false);
- String loginURL = request.getContextPath() + "/login.jsp";
- boolean loggedIn = session != null && session.getAttribute("user") != null;
- boolean loginRequest = request.getRequestURI().equals(loginURL) || request.getRequestURI().equals(loginURL + ".xhtml"); // Эта проверка важна иначе фильтр будет вечно перенаправлять на страницу login.jsp
- if(loggedIn || loginRequest) {
- chain.doFilter(req, res);
- }
- else {
- response.sendRedirect("login.jsp");
- }
- }
- }
- public class LoginServlet extends HttpServlet {
- private static final Logger logger = Logger.getLogger(LoginServlet.class.getName());
- @Override public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
- String login = request.getParameter("login");
- String password = request.getParameter("password");
- Database database = new Database(); // класс который отвечает за соединение с базой данных и запросы к ней
- User user = database.findUserByLogPass(login, password);
- if(user != null) {
- logger.log(Level.INFO, String.format("User %s has logged in", user));
- request.getSession().setAttribute("user", user);
- response.sendRedirect("index.jsp");
- }
- else {
- logger.log(Level.WARNING, "User with such login and password doesnt exist");
- request.getRequestDispatcher("login.jsp").forward(request, response);
- }
- }
- }
Add Comment
Please, Sign In to add comment