欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

利用servlet实现用户的登录

程序员文章站 2022-05-08 16:00:08
...

当时在上JAVA课的时候,老师就给我们讲过SUN公司的servlet是一个典型的JAVA语言的应用。现在在上网络编程课的时候,终于接触到了这种服务器小程序。
现在我们就用servlet来简单实现一个用户登录的小程序。
首先,servlet也是一个JAVA类,新建一个JAVA类,它直接继承了HttpServlet类:

@WebServlet(name = "ServletTest")
public class ServletTest extends HttpServlet {

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    @Override
    public void init() throws ServletException {
        super.init();
    }

    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        //super.service(req, res);
        String username=req.getParameter("username");
        String password=req.getParameter("password");
        System.out.println(username);
        System.out.println(password);

    }

    @Override
    public void destroy() {
        super.destroy();
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }
}

Servlet作为一个程序,也会有它的生命周期,它的生命周期从init()开始,有两种init(),一个是有参数的,另一个是无参数的。其中有参数的init方法会显示地调用无参的init()方法。从init(ServletConfi,g config)的源代码中我们也可以看出这一点。init()是在被Servlet被访问时被调用
利用servlet实现用户的登录

当servlet接受用户提交的表单的时候会调用service方法。

然后编写login.jsp:

<form action="<%= request.getContextPath() %>/loginServlet" method="post">
    用户名:<input type="text" name="username"><br/>
    密码:<input type="password" name="password"><br/>
    <input type="submit" value="登录">
    <input type="reset" value="重置">
</form>

注意action中要使用request.getContextPath获取到上下文路径。
loginServlet需要在web.xml中进行配置

<servlet>
             <servlet-name>LoginServlet</servlet-name>
             <servlet-class>com.myServlet.ServletTest</servlet-class>
         </servlet>

         <servlet-mapping>
             <servlet-name>LoginServlet</servlet-name>
             <url-pattern>/loginServlet</url-pattern>
         </servlet-mapping>

servlet-name随便起,servlet-class表示servlet的类名。
url-pattern是action中引用的名字,这样它们就关联在一起了。

最后就可以看见表单中的username和password被打印出来了。
利用servlet实现用户的登录

最后其它的方法可以根据需要在官方文档中查找