zoukankan      html  css  js  c++  java
  • Servlet技术——Servlet基础

    Servlet是运行在Web服务器端的Java应用程序,它使用Java语言编写,具有Java语言的优点。
    与Java程序的区别是,Servlet对象主要封装了对HTTP请求的处理,并且它的运行需要Servlet容器的支持
    在Java Web应用方面,Servlet的应用占有十分重要的地位,它在Web请求的处理功能方面也十分强大。

    1、Servlet体系结构
    Servlet实质上就是按Servlet规范编写的Java类,但是它可以处理Web应用中的相关请求。
    Servlet是一个标准,它由Sun定义,其具体细节由Servlet容器进行实现,如Tomcat JBoss。

    在标准的Java EE架构中,Servlet的UML结构如下:

    其中Servlet ServletConfig 是javax.servlet包中定义的对象,这两个对象定义了Servlet的基本方法以及封装了Servlet的相关配置信息。Serializable对象是java.io包中的序列化接口。通常情况下我们编写的Servlet对象都继承于HttpServlet。

    2、Servlet代码结构
    在Java中,通常所说的Servlet是指HttpServlet对象,在声明一个对象是Servlet时,需要继承HttpServlet类。HttpServlet类是Servlet接口的一个实现类,继承该类后,可以重写HttpServlet类中的方法对HTTP请求进行处理。

    下面代码展示了Servlet的代码结构。

    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class TestServlet extends HttpServlet{
        //初始化方法
        public void init() throws ServletException{
        }
    
        //处理HTTP Get请求
        protected void doGet(HttpServletRequest req,HttpServletResponse resp)
            throws ServletException,IOException{
        }
        
        
        //处理HTTP Post请求
        protected void doPost(HttpServletRequest req,HttpServletResponse resp)
            throws ServletException,IOException{
        }
        
        //处理HTTP Put请求
        protected void doPut(HttpServletRequest req,HttpServletResponse resp)
             throws ServletException,IOException{    
        }
        
        //处理HTTP Delete请求
        protected void doDelete(HttpServletRequest req,HttpServletResponse resp)
            throws ServletException,IOException{
            }
            
        //销毁方法
        public void destroy(){
        super.destroy(); } }

    重写的六个方法中,init()和destory()方法是在Servlet初始化和销毁的时候调用,其他四个方法用于处理不同的HTTP请求。

    在一个Servlet中最常用的是doGet()和doPost()方法,用于处理HTTP请求中的GET请求和Post请求。

  • 相关阅读:
    Python 简单的方法爬取b站dnf视频封面
    Opencv学习(一)
    某个代码
    2017年江西理工大学C语言程序设计竞赛(高级组)
    2017年江西理工大学C语言程序设计竞赛(初级组)
    两数相除
    华东交通大学2017年ACM“双基”程序设计竞赛 1009
    华东交通大学2017年ACM“双基”程序设计竞赛 1005
    UE4联机多人游戏基本设置
    菜鸟学习物联网---辨析基于Andriod 5.1,Linux,Windows10开发Dragon Board 410c板
  • 原文地址:https://www.cnblogs.com/cuglkb/p/6669506.html
Copyright © 2011-2022 走看看