1 . jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代
码,Web容器将JSP的代码编译成JVM能够识别的java类)
2. jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.servlet控制器降低耦合性
3. Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,
HttpServletResponse对象以及HttpServlet对象得到.Jsp是Servlet的一种简化,使用Jsp只需要完
成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而
Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。
1.在JSP是在Servlet技术产生之后才产生的,为什么?
2.jsp在服务器经过翻译编译之后的java文件,其实是继承
org.apache.jasper.runtime.HttpJspBase类(编相应
并实现了org.apache.jasper.runtime.JspSourceDependent
3.HttpJspBase类其实也是继承HttpServlet类,所以说,JSP
本质上也和servlet一样继承自HttpServlet类。所以说
Servlet:是一个类,运行在服务器端,用来接受请求和响应请求
1:创建Servlet类,继承HttpServlet类,重写doPost()/doGet()方法
a)编译Servlet到/WEB-INF/classes目录
<servlet-name>MyServlet</servlet-name>//这里是servlet 的名字,自己定义 的
<servlet-class>Servlet </servlet-class>//这里是servlet的位置 。 如果在一个包下就写包名.类名,容器会从class的路径去实例化servlet。
<servlet-name>MyServlet </servlet-name>//跟上面的;servlet-name 必须一样
<url-pattern>/abc </url-pattern>//这是在地址 输入访问的时候 输入的,自己定义
Servlet接口 :定义了一些接收用户请求,处理用户请求的方法,Servlet自身的方法。
ServletConfig:每一个Servlet都对应一个ServletConfig 实例(实例作为init方法的参数传进去)里面是 关于Servlet的一些配置。
GenericServlet:实现了上面两个接口,但是并没有实现全部 的方法,所以还是一个抽象类。
HttpServlet :实现了GenericServlet的部分方法,所以HttpServlet也是抽象类,处理http协议的请求和响应