JSP与Servlet

    我们都知道JSP最终会被编译为Servlet执行,但是具体又是怎样的呢,让我们来看一下:

package com.MyServlet.Servlet;
import java.io.IOException;
import javax.servlet.Servlet;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class AServlet implements Servlet {   //通过实现Servlet接口来实现Servlet类
 /*
  * 生命周期方法
  * 在Servlet被销毁之前调用
  */
 @Override
 public void destroy() {
        System.out.println("destroy()...");
 }
 
 /*
  * 用于获取Servlet配置信息
  * 
  */
 @Override
 public ServletConfig getServletConfig() {
        System.out.println("getServletConfig()...");
  return null;
 }
 
 /*
  *获取Servlet信息
  *
  */
 @Override
 public String getServletInfo() {
        System.out.println("getServletInfo()...");
  return "我是一个快乐的Servlet";
 }
 
 /*
  * 生命周期方法,在Servlet创建之后调用,初始化作用
  * 只执行一次,加载相关配置信息
  */
 @Override
 public void init(ServletConfig arg0) throws ServletException {
     System.out.println("init()...");
 }
 
 /*
  *生命周期方法,每次处理请求时都是调用它
  *被调用多次
  */
 @Override
 public void service(ServletRequest request, ServletResponse response)
   throws ServletException, IOException {
     System.out.println("service()...");      //jsp文件中的主体代码都在这里
 }
 /**
  * @param args
  */
 public static void main(String[] args) {
 }
}

这是一个通过实现Servlet接口来实现Servlet类的例子,里面的方法service()就是我们平时编写的jsp代码最终的“归宿”。

但是jsp文件中<%!%>的代码例外(全局变量,类),它其中的代码是在Servlet类中作为内部方法或者是内部类,但是我们一般不会使用该种方式利用类,一般是通过javabean来调用。所以说我们的jsp代码其实都是在一个Servlet类中,而且大部分是在service

()方法中。

 

备注:一个web工程中的所有java文件编译后的.class文件都会在WEB-INF下的classes中

你可能感兴趣的:(jsp,servlet,关联)