Java servlet

Servlet(Server Applet),全称Java Servlet,未有中文译文。是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义的Servlet是指Java语言实现的一个接口,广义的Servlet是指任何实现了这个Servlet接口的类,一般情况下,人们将Servlet理解为后者。
Servlet运行于支持Java的应用服务器中。从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。
最早支持Servlet标准的是JavaSoft的Java Web Server,此后,一些其它的基于Java的Web服务器开始支持标准的Servlet。
 
package service;

import java.util.Date;
import java.util.List;

import entity.Bankcard;
import test.BankcardDAO;

//业务逻辑
public class BankcardService {

    //验证登录方式
    public Bankcard Login(String cardid, String password)
    {
        Bankcard rtn = null;
        
        // 得到卡信息
        Bankcard bc = new BankcardDAO().getBankcard(cardid);
        
        if (bc != null)
        {
            // 验证数据有效性
            if (bc.getState().equals("1") 
                    && bc.getPassword().equals(password))
            {
                rtn = bc;
            }
        }        
        
        return rtn;
    }

    //添加数据的方法
    public boolean addBankcard(Bankcard bc)
    {
        boolean rtn=false;
        
        //生成cardid
        String cardid=((int)(Math.random()*1000000)+"000000").substring(0, 6);
        
        bc.setBalance(0);
        bc.setTime(new Date());
        bc.setState("1");
        
        //调用dao,保存数据
        rtn=new BankcardDAO().insertBankcard(bc)==1;
        
        return rtn;
    }
    
    public List<Bankcard> getAllBankcard()
    {
        return new BankcardDAO().getAll();
    }
    
    //删除
    public void removeBankcard(String cardid)
    {
        //过滤不能删除的数据
        
        if(!cardid.equals("123456"))
        {
        new BankcardDAO().deleteBankcard(cardid);
        }
    }
}

 

二、Servlet的运行过程

Servlet程序是由WEB服务器调用,web服务器收到客户端的Servlet访问请求后:
  ①Web服务器首先检查是否已经装载并创建了该Servlet的实例对象。如果是,则直接执行第④步,否则,执行第②步。
  ②装载并创建该Servlet的一个实例对象。 
  ③调用Servlet实例对象的init()方法。
  ④创建一个用于封装HTTP请求消息的HttpServletRequest对象和一个代表HTTP响应消息的HttpServletResponse对象,然后调用Servlet的service()方法并将请求和响应对象作为参数传递进去。
  ⑤WEB应用程序被停止或重新启动之前,Servlet引擎将卸载Servlet,并在卸载之前调用Servlet的destroy()方法。 

posted @ 2016-11-15 08:54  浪里各浪  阅读(220)  评论(0编辑  收藏  举报