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会返回绿色的成功,否则就是红色的失败。

猜你喜欢

转载自www.cnblogs.com/lbhym/p/11657143.html