JavaWeb Servlet 引用相关实例实现登录界面

40 篇文章 0 订阅
4 篇文章 0 订阅

Servlet 基础

  • Servlet 是一个java程序,是在服务器上运行以处理客户端请求并做出响应的程序。
  • Servlet 的核心是javax.servlet.Servlet接口,所有的Servlet 必须实现这个接口。
  • 自定义的Servlet 大都是从GenericServlet 和HttpServlet 类进行扩展来实现。

在这里插入图片描述

  • HttpServlet 可以用来处理Http 请求。
  • Http 的请求方式包括DELETE,GET,OPTIONS,POST,PUT,TRACE。
  • HttpServlet 中与这些请求方式相对应的方法:

(1)doHead():用来处理HTTP客户端的HEAD请求

(2)doGet():如果HTTP客户端发给服务器的请求是GET方式,这个方法将被service 方法调用

(3)doPOST():如果HTTP客户端发给服务器的请求是POST方式,这个方法将被service 方法调用

(4)doDelete():用来处理HTTP客户端的DELETE请求

(5)doOptions():用来处理HTTP客户端的OPTIONS请求

此外还有doPut()方法和doTrace()方法,最常用的方法就是doGet()方法和doPOST()方法。

servlet 的生命周期实例:


测试代码:

package cn.zbw;

import javax.servlet.*;
import java.io.IOException;

public class Servlet01 implements Servlet {
    @Override
    public void init(ServletConfig servletConfig) throws ServletException {
        System.out.println("服务器运行 初始化init 执行一次");
    }

    @Override
    public ServletConfig getServletConfig() {
        return null;
    }

    @Override
    public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
        System.out.println("服务service方法 servlet下面");
    }

    @Override
    public String getServletInfo() {
        return null;
    }

    @Override
    public void destroy() {
        System.out.println("服务器关闭destroy 执行一次");
    }
}

xml文件:

    <servlet>
        <servlet-name>servlet</servlet-name>
        <servlet-class>cn.zbw.Servlet01</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>servlet</servlet-name>
        <url-pattern>/zbw</url-pattern>
    </servlet-mapping>

jsp文件:

<html>
  <head>
    <title>测试服务器是否正常运行</title>
  </head>
  <body>
  我爱你!小兔子!
  </body>
</html>

jsp文件测试结果:
在这里插入图片描述
生命周期结果:
在这里插入图片描述
Servlet的生命周期:首先实例化,初始化 init 方法只运行一次,调用service 方法,根据请求的方式调用相对应的方法,关闭服务器之后,调用destory 方法。


Servlet 引用实例实现登录:


引用:

package cn.zbw;

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 java.io.IOException;

@WebServlet("/login")
public class ServletLogin extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        request.setCharacterEncoding("utf-8");
        response.setContentType("text/html;charset=utf-8");

        String username = request.getParameter("username");
        String pwd = request.getParameter("pwd");

        if (username.equals("zbw") && pwd.equals("123")){
            response.sendRedirect("success.jsp");
        }else {
            response.sendRedirect("error.jsp");
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}

jsp文件:

<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
  <form action="login" method="post">
    账号<input type="text" name="username">
    密码<input type="password" name="pwd">
    <input type="submit" value="登录">
  </form>
  </body>
</html>

success 文件:

<html>
<head>
    <title>Success</title>
</head>
<body>
登录成功
</body>
</html>

error 文件:

<html>
<head>
    <title>Error</title>
</head>
<body>
登录失败
</body>
</html>

结果是:
在这里插入图片描述
在这里插入图片描述

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值