servlet三种实现方式之一实现servlet接口

时间:2021-08-19 21:03:15

servlet有三种实现方式:

1.实现servlet接口

2.继承GenericServlet

3.通过继承HttpServlet开发servlet

第一种示例代码如下(已去掉包名):

import javax.servlet.*;
import java.io.*;
public class Hello implements Servlet{
        //该函数用于初始化该servlet(),类似于构造函数
        //该函数只会被调用一次(当用户第一次访问该servlet时被调用。
        public void init(ServletConfig parm1) throws ServletException {
            // Put your code here
            System.out.println("init it");
        }
        //得到配置文件,跟servlet周期关系不大
        public ServletConfig getServletConfig() {  
            return null;  
        }  
        //这个函数用于处理业务逻辑
        //程序员应当把业务逻辑写在这里
        //会被调用多次,当用户每访问该servlet时,都会被调用
        //req用于获得客户端(浏览器(b/s结构))的信息,res用于向客户端(浏览器)返回信息
        public void service(ServletRequest req, ServletResponse res)  
                throws ServletException, IOException {
            System.out.println("service it..");//像控制台输出
            //从res中的得到PrintWriter,才可以返回值
            PrintWriter pw=res.getWriter();
            pw.println("hello,world");//向浏览器输出
            
        }
        public String getServletInfo(){
            return "";
        }
        //销毁servlet实例(释放内存)
        //1.reload该servlet(webAPP)
        //2.关闭tomcat
        //3.关机        
        public void destroy() {            
            System.out.println("destory..");
        }
}

 web.xml中部署如下:(以后就不再写了)

 

 1 <servlet>
 2   <!-- 给你的servlet取名,任意的 -->
 3     <servlet-name>hello</servlet-name>
 4     <!-- 指明servlet的路径,(包名+类名)-->
 5     <servlet-class>com.Hello</servlet-class>
 6   </servlet>
 7   <servlet-mapping>
 8   <!-- 名字同上 -->
 9     <servlet-name>hello</servlet-name>
10     <!-- 浏览器中输入访问servlet的url,任意的 -->
11     <url-pattern>/hello</url-pattern>
12   </servlet-mapping>

url-pattern路径任意,如上的话访问时地址栏就为(tomcat服务器,项目名称为servlet)

http://localhost:8080/servlet/hello