1.model1开发模式和model2开发模式?
model1模式:
xx.jsp->xx_do.jsp->yy.jsp->yy_do.jsp...
做数据的显示和数据的收集,以及数据的处理和控制都是由jsp来完成,这种开发模式是model1模式;model1模式适合快速开发但是不适合做大型项目开发,原因是因为jsp这种技术更适合做显示
model2模式
xx.jsp->xxservlet->yy.jsp->yyservlet..
2.Servlet类的特点
1.层次结构
(1).Javax.servlet.servlet(接口):在此接口中定义了servlet的生命周期(servlet对象什么时候被实例化,什么时候这个实例化会被销毁)方法-->init()、service()、destory()
init():第一次发送请求访问一个servlet实例的时候会被调用,只能调用一次
service():每次发送请求访问这个servlet实例的时候都会调用
destory():对象被销毁之前被调用一次
servlet生命周期流程:
(1.1)javax.servlet.GenericServlet(抽象类实现类servlet接口):重写了servlet接口中的init()和destory()方法,并且对接口功能做了适当的扩展,但是并没有实现service()方法
(1.1.1)javax.servlet.http.HttpServlet(抽象类继承了GenericServlet抽象类):重写了service()方法,同时对GenericServlet做了扩展
第一:重载了service()方法,service(HttpServletRequest req,HttpServletResponse resp),目的是更好的适应web开发
第二:扩展了doxx()这样一组方法,适应不同的请求类型(Get/Post/Head/Put/Delete/Trace/Options)调用对应的doxx()方法来专门这种请求类型的操作
(1.1.1.1)如果开发者需要编写基于web开发的servlet那么就必须继承HttpServlet,并且根据需要重写其中的doxx()或者service()方法
编写servlet的步骤:
(1)必须继承HttpServlet,并且根据需要重写其中的doxx()或者service()方法,以及其他的方法init().destory()
(2)必须要配置web.xml文件,目的是描述怎么访问到servlet实例
<servlet>
<servlet-name>名称(随意起)</servlet-name>
<servlet-class>Servlet类的完整类名</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>名称(随意起,和上方servlet-name保持一致)</servlet-name>
<url-pattern>/访问路径</url-pattern>
</servlet-mapping>