• Servlet路径


    在html项目中,jsp需要连接java文件,一般通过servlet类

    那么如何连接servlet类呢?

    比如在提交表单时就可以用

    <form action="Servlet?method=login" method="post" onsubmit="return check()">

    在Servlet类前写

    @WebServlet("/Servlet")

    就可以了

    下面是登录的完整代码

    index.jsp

    <%@ page language="java" contentType="text/html; charset=utf-8"
             pageEncoding="utf-8"%>
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <title>Login</title>
    </head>
    <body>
    
    <%
      Object message = request.getAttribute("message");
      if(message!=null && !"".equals(message)){
    %>
    <script type="text/javascript">
      alert("<%=request.getAttribute("message")%>");
    </script>
    <%  }  %>
    
    <div id="login">
      <h1>Login</h1>
      <form action="Servlet?method=login" method="post" onsubmit="return check()">
        <input type="text" required="required"  placeholder="请输入账号" name="id"></input>
        <input type="password" required="required"  placeholder="请输入密码" name="password"></input>
        <button class="but" type="submit">登    录</button>
      </form>
    </div>
    </body>
    </html>

    Servlet.java(置于Servlet包中)

    package Servlet;
    import Dao.*;
    import javax.servlet.ServletException;
    import javax.servlet.annotation.WebServlet;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import java.io.IOException;
    import java.util.List;
    @WebServlet("/Servlet")
    public class Servlet extends HttpServlet{
        private static final long serialVersionUID = 1L;
    
        public Servlet() {
            super();
        }
        Dao dao=new Dao();
    
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            req.setCharacterEncoding("utf-8");
            String method = req.getParameter("method");
            if ("login".equals(method)) {
                login(req, resp);
            }
        }
        //------------------------------------------------------------------------------------------------------
        private void login(HttpServletRequest req, HttpServletResponse resp) throws IOException, ServletException {
            // TODO Auto-generated method stub
            String id = req.getParameter("id");
            HttpSession session =req.getSession();
            session.setAttribute("id",id);
            String password = req.getParameter("password");
            System.out.println("servlet.login"+" id="+id+" password="+password);
            User user=dao.login(id);
            System.out.println(user.getForm());
            if(user.getPassword()!=null&&user.getPassword().equals(password)) {
                req.setAttribute("message", "登录成功");
                if (user.getForm().equals("管理员")) {
                    req.getRequestDispatcher("admin.jsp").forward(req, resp);
                } else if (user.getForm().equals("教师")) {
                    req.getRequestDispatcher("teacher.jsp").forward(req, resp);
                }
            }else{
                req.setAttribute("message","登录失败");
                req.getRequestDispatcher("index.jsp").forward(req,resp);
            }
        }
    }

    详细见:https://www.cnblogs.com/yijiahao/p/11797430.html

  • 相关阅读:
    安装 Visual Studio 出现网络问题,无法连接
    开机时如何默认关闭小键盘
    nginx 443端口配置
    nginx启动提示 nginx: [emerg] the INET6 sockets are not supported on this platfor
    ffmpeg 常用命令
    linux下安装python3.7.2
    Win10的Hyper-V虚拟机上安装Ubuntu后显示分辨率问题
    Hyper-V安装CentOS修改分辨率
    Linux 设置简单密码
    nginx 80端口跳转到443
  • 原文地址:https://www.cnblogs.com/linmob/p/14151147.html
Copyright © 2020-2023  润新知