• IDEA+JSP+Servlet+Tomcat简单的登录示例


    1.用IDEA新建Java WEB项目并配置Tomcat

    这一部分可以参考之前的一篇随笔

    https://www.cnblogs.com/lbhym/p/11496610.html

    2.导入Servlet的jar包和新建classes文件夹

    在File--->Project Structure----->Modules------>Dependencies

    点击+号,选择JARs....。然后选择servlet的jar包所在位置,一般在tomcat路劲下的lib文件夹里。

    导入之后再在WEB-INF文件夹下新建一个名叫classes的文件夹,这是servlet类编译后文件生成的地方,但是IDEA默认下没有这个文件夹的,所以需要手动设置一下输出的路径。

    在File--->Project Structure----->Modules------>Paths

    选择Use module.....,然后在Output path 和Test output path路径里面选择classes文件夹。

    3.编写Servlet类并建立与JSP页面的对应关系

    大家都知道Servlet只是一个Java类。以我的理解JSP就类似.NET里面的Razor,可以在前端里面写Java或C#。Servlet就像控制器类一样,接收前端传过来的数据,然后进行处理。

    在src下新建一个类。叫LoginServlet。

    如下,暂时没用到数据库,只是在本地做个简单的判断,并返回信息。

    import java.io.IOException;
    import java.io.PrintWriter;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    public class LoginServlet extends HttpServlet {
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
    
            String name = request.getParameter("name");
            String password = request.getParameter("password");
    
            String html = null;
    
            if ("admin".equals(name) && "123".equals(password))
                html = "<div style='color:green'>success</div>";
            else
                html = "<div style='color:red'>fail</div>";
    
            PrintWriter pw = response.getWriter();
            pw.println(html);
    
        }
    
    }

    在index.jsp文件里面,写几个登录控件。

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
      <head>
        <title>$Title$</title>
      </head>
      <body>
    
      <form action="login" method="post">
        账号: <input type="text" name="name"> <br>
        密码: <input type="password" name="password"> <br>
        <input type="submit" value="登录">
      </form>
    
      </body>
    </html>

    到这里,页面和类是毫无关联的,需要在web.xml里面对应关系

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app>
        <servlet>
            <servlet-name>LoginServlet</servlet-name>
            <servlet-class>LoginServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>LoginServlet</servlet-name>
            <url-pattern>/login</url-pattern>
        </servlet-mapping>
    </web-app>

    如果有其他页面和其他类,需要再写一对<servlet>和<servlet-mapping>。注意,两个servlet-name必须一样。url-pattern就是前端访问的action

    整个过程大概是:前端访问action,然后在web.xml会根据同名的url-pattern去访问对应的servlet类,servlet类里面做完相应的处理后,再返回内容到页面上。

    4.运行项目

    如果输入admin和123会返回绿色的成功,否则就是红色的失败。

  • 相关阅读:
    转: MySQL 赋予用户权限(grant %-远程和localhost-本地区别)
    修改Apache的最大连接数
    正向代理与反向代理的区别【Nginx读书笔记】
    mysql加单引号和不加单引号的性能比较
    mysql保存数据提示1366 Incorrect string value: ‘xF0x9Fx98x8AxF0x9F…’ 解决
    Mysql外键约束设置使用方法
    MYSQL分库分表和不停机更改表结构
    Hive SQL 常用日期
    CountDownLatch学习
    Exchanger学习
  • 原文地址:https://www.cnblogs.com/lbhym/p/11657143.html
Copyright © 2020-2023  润新知