Servlet

Servlet简介

- 什么是Servlet

    Servelt是运行在服务端的Java小程序。

    servlet规范:包含三个技术点
            - servlet技术
            - filter技术  -过滤器
            - listener 技术  - 监听器

- Servlet快速入门

    实现步骤:

            - 创建类实现Servlet接口

            - 覆盖尚未实现的方法

            - 在web.xml进行servlet的配置

在实际开发中,我们不会直接去实现Servlet接口,因为那样需要覆盖的方法太多。一般是创建类继承HttpServlet.

        实现步骤:
                  - 创建类继承HttpServlet类
                  - 覆盖doget 和dopost
                  - 在web.xml中进行servlet的配置
Servlet 的API(生命周期)
  Servlet接口中的方法
       - init :  在 servlet 对象创建的时候执行
       - service : 每次请求都会执行
       - destroy: servlet 销毁时候执行 

Service 的声明周期

  • Servlet创建:默认第一次访问servlet时创建该对象
  • 何时销毁: 服务器关闭了就销毁了
  • 每次访问必然执行的方法: service
利用Servlet完成登录操作

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    //1.获得用户名和密码
    String username = request.getParameter("username");
    String password = request.getParameter("password");
    //2.从数据库验证该用户名和密码是否正确
    QueryRunner runner = new QueryRunner(DataSourceUtils.getDataSource());
    String sql = "select * from user where username=? and password=?";
    User user = null;
    try {
        user = runner.query(sql, new BeanHandler(User.class), username, password);
    } catch (SQLException e) {
        e.printStackTrace();
    }

    //3.根据返回结果给用户不同显示信息
    if (user != null) {
        //登录成功
        response.getWriter().write("Yes,Login Success" + user.toString());

    } else {
        //登录失败
        response.getWriter().write("sorry,Login fail");
    }


}

ServletContext对象

1.什么是ServletContext对象
      servletContext代表是一个web应用的环境 上下文对象。ServletContext对象内部封装是该web 应用的信息 Servlet对象一个web应用只有一个对象。

      ServletContext对象的声明周期

     在web应用被加载的时候创建。在web应用卸载的时候 销毁

  1. 怎样获得ServletContext对象

         ServletContext context = getServletContext();

3.ServletContext 作用

  1. 获得初始化参数

  2. 获得web应用中任何资源的绝对路径
    String path = context.getRealPath(相对于该web应用的一个相对地址)

  1. ServletContext 是一个域对象
    域对象时:存储数据的区域就是域对象
ServletContext域对象的作用范围:整个web应用

 实现servlet之间的通信 
    存对象:context.setAttribute("   " ,  "  ");
    取对象: String attribute = (String) this. getServletContext().getAttribute("     ");

我是一个自学Android和JavaWeb的菜鸟。如果可以Flower一下我的GitHub。感激不尽
https://github.com/FoxconnPeter

你可能感兴趣的:(Servlet)