zoukankan      html  css  js  c++  java
  • Servlet实现的三种方法

    (1)方法一:

    //这是第一个实现servlet的方法。使用时限servlet接口的方法来实现,使用的时候须要引用servlet-api.jar
    
    
    package com.lc;
    
    import javax.servlet.*;
    import java.io.*;
    import javax.servlet.ServletConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import java.io.IOException;
    
    public class Hello implements Servlet{
    	
    	//该函数用于初始化该servlet(相似于类的构造函数)
    	//该函数仅仅会被调用一次(当用户第一次訪问该servlet是被调用)
    	public void init(ServletConfig parm1) throws ServletException {
    		System.out.println("init it!");
    		
    	}
    
    	public ServletConfig getServletConfig() {
    		return null;
    	}
    
    	//这个函数用于处理业务逻辑
    	//程序猿应当那个当业务逻辑逻辑代码写在这里
    	//当用户訪问servlet时都会被调用
    	//req用于获得client的信息  
    	//res用户想client返回信息 (能够觉得是游览器)
    	public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
    	
    		//从res中得到Printwriter
    		System.out.println("service it!"); //在控制台显示
    		PrintWriter pw = res.getWriter();
    		pw.println("hello world!");//在游览器中显示
    	}
    
    	public String getServletInfo() {
    		return "";
    	}
    
    	//三种情况导致destroy的调用:
    	//1.reload 该servlet(webApps)
    	//2.关闭tomcat
    	//3.关机
    	public void destroy() {
    		//销毁servt实例 实际就是释放内存
    		System.out.println("destroy it!");
    	}
    
    }
    

    (2)方法二:

    //第二个实现servlet程序,继承GenericServlet  这样的方法非常easy
    
    package com.tsinghua;
    
    import javax.servlet.GenericServlet;
    import java.io.*;
    import javax.servlet.*;
    
    public class HelloGenericServlet extends GenericServlet{
    	
    	//重写service方法就可以
    	
    	public void service(ServletRequest req,ServletResponse res){
    		
    		//返回hello world!generic
    		
    		try{
    			PrintWriter pw =res.getWriter();
    			pw.println("Hello world! generic!");
    		}
    		catch(Exception ex){
    			ex.printStackTrace();
    		}
    	}
    	
    	
    }
    

    (3)方法三:

    //第三个servlet实现程序。通过继承HttpServlet
    
    package com.tsinghua;
    
    import javax.servlet.http.*;
    import java.io.*;
    
    public class HelloHttp extends HttpServlet{
    	
    	//处理get请求
    	//req:用于获得client(游览器)的信息
    	//res:用于向client(游览器)返回信息
    	public void doGet(HttpServletRequest req,HttpServletResponse res){
    		
    		//业务逻辑
    		try{
    			PrintWriter pw = res.getWriter();
    			pw.println("hello http!");
    		}
    		catch(Exception ex){
    			ex.printStackTrace();
    		}
    	}
    	//处理post请求
    	//req:用于获得client(游览器)的信息
    	//res:用于向client(游览器)返回信息
    	public void doPost(HttpServletRequest req,HttpServletResponse res){
    		this.doGet(req,res);
    	}
    }

    在实现上述三种方法的时候 须要配置web.xml文件。代码例如以下:

    <?

    xml version="1.0" encoding="ISO-8859-1"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <!--JSP servlet mappings starts--> <servlet> <!--给自己的servlet起个名字 随意的名字--> <servlet-name>Hello</servlet-name> <!--指明servlet的路径(包名+类名)--> <servlet-class>com.tsinghua.Hello</servlet-class> </servlet> <servlet-mapping> <!--和上边的servlet的名字是一样的--> <servlet-name>Hello</servlet-name> <!--这是在游览器中输入的訪问该servlet的url--> <url-pattern>/helloworld</url-pattern> </servlet-mapping> <servlet> <servlet-name>HelloGenericServlet</servlet-name> <servlet-class>com.tsinghua.HelloGenericServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloGenericServlet</servlet-name> <url-pattern>/helloGeneric</url-pattern> </servlet-mapping> <servlet> <servlet-name>HelloHttp</servlet-name> <servlet-class>com.tsinghua.HelloHttp</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloHttp</servlet-name> <url-pattern>/helloHttp</url-pattern> </servlet-mapping> <!--JSP servlet mappings end--> </web-app>


    ok!


  • 相关阅读:
    web.xml配置详解
    javascript实现的网页打印
    C#实现新建文件并写入内容
    nodeJs学习过程之认识nodejs
    windows下nodejs与coffeeScript环境搭建
    javascript/css压缩工具---yuicompressor使用方法
    verilog描述表决器的两种方式简易分析
    verilog阻塞与非阻塞的初步理解(二)
    verilog阻塞与非阻塞的初步理解(一)
    FIFO学习心得
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5381255.html
Copyright © 2011-2022 走看看