servlet总结:
what:
servlet是一种服务器端的Java应用程序,它可以生成动态的web页面
servlet主要分为: 一般servlet,过滤器,监听器
why:
一般情况下担当客户请求和服务器响应的中间层,在MVC开发模式中,一般用于C层,做控制器.
how:
1.servlet的继承关系
Servlet 接口: 主要定义了servlet的生命周期方法.
ServletConfig 接口: 为servlet提供了使用容器服务的若干重要对象和方法
ServletContext 接口: 为Servlet的上下文提供了若干重要对象和方法.这个对象是在服务器启动时创建的
GenericServlet 抽象类:实现上面3个接口,为servlet提供了一般的实现
HttpServlet 抽象类: 继承GenericServlet抽象类,为处理http请求的servlet提供了一般实现,主要是定义和实现了若干service方法
继承关系:MyServlet extends HttpServlet extends GenericeServlet implements Servlet,ServletConfig,ServletContext
2.servlet的生命周期
1.加载 web.xml
2.初始化 init()
3.服务 service()
4.销毁 destroy()
3.service()与doPost()和doGet()的比较
doPost()用于处理表单提交为post时
doGet() 用于处理表单提交为get时
service() 无论表单提交为get还是post都会执行.如果重写了service(),则不必重写doPost()和doGet(),因为service()方法内部自己会判断表单提交的方式.
4.post表单提交于get表单提交有什么区别?
get提交方式为表单的默认提交方式,get提交会在url地址栏上显示,不安全,且长度有所限制,容易出现中文乱码.
post提交方式为表单加密的提交方式,post提交不会暴露任何信息在url地址栏上,安全,没有长度限制,不会出现中文乱码.
过滤器:
过滤器的主要作用就是:设置字符编码,拦截用户请求,进行权限判断
监听器:
监听器 特点:你动我也动
三大监听器:servletContext监听器,session监听器,request监听器
优缺点:
一.与jsp比较
1.servlet的运行速度比jsp要快,因为jsp进过编译才能运行,而servlet可以直接运行
2.jsp写静态页面比较方便,而servlet要一条语句一条语句的out.print进行输出.
3.通过分离jsp与逻辑代码,使程序层次更加的清晰明了.
二.与Applet比较
相同点:
1.它们不是独立的应用程序,没有main()方法.
2.它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用.
3.它们都有一个生存周期,包含init()和destroy()方法
不同点:
1.Applet具有很好的图形界面(AWT/Swing),与浏览器一起,在客户端运行.
2.Servlet 则没有图形界面,运行在服务器端.
注意事项:
注意配置web.xml
what:
servlet是一种服务器端的Java应用程序,它可以生成动态的web页面
servlet主要分为: 一般servlet,过滤器,监听器
why:
一般情况下担当客户请求和服务器响应的中间层,在MVC开发模式中,一般用于C层,做控制器.
how:
1.servlet的继承关系
Servlet 接口: 主要定义了servlet的生命周期方法.
ServletConfig 接口: 为servlet提供了使用容器服务的若干重要对象和方法
ServletContext 接口: 为Servlet的上下文提供了若干重要对象和方法.这个对象是在服务器启动时创建的
GenericServlet 抽象类:实现上面3个接口,为servlet提供了一般的实现
HttpServlet 抽象类: 继承GenericServlet抽象类,为处理http请求的servlet提供了一般实现,主要是定义和实现了若干service方法
继承关系:MyServlet extends HttpServlet extends GenericeServlet implements Servlet,ServletConfig,ServletContext
2.servlet的生命周期
1.加载 web.xml
2.初始化 init()
3.服务 service()
4.销毁 destroy()
3.service()与doPost()和doGet()的比较
doPost()用于处理表单提交为post时
doGet() 用于处理表单提交为get时
service() 无论表单提交为get还是post都会执行.如果重写了service(),则不必重写doPost()和doGet(),因为service()方法内部自己会判断表单提交的方式.
4.post表单提交于get表单提交有什么区别?
get提交方式为表单的默认提交方式,get提交会在url地址栏上显示,不安全,且长度有所限制,容易出现中文乱码.
post提交方式为表单加密的提交方式,post提交不会暴露任何信息在url地址栏上,安全,没有长度限制,不会出现中文乱码.
过滤器:
过滤器的主要作用就是:设置字符编码,拦截用户请求,进行权限判断
监听器:
监听器 特点:你动我也动
三大监听器:servletContext监听器,session监听器,request监听器
优缺点:
一.与jsp比较
1.servlet的运行速度比jsp要快,因为jsp进过编译才能运行,而servlet可以直接运行
2.jsp写静态页面比较方便,而servlet要一条语句一条语句的out.print进行输出.
3.通过分离jsp与逻辑代码,使程序层次更加的清晰明了.
二.与Applet比较
相同点:
1.它们不是独立的应用程序,没有main()方法.
2.它们不是由用户或程序员调用,而是由另外一个应用程序(容器)调用.
3.它们都有一个生存周期,包含init()和destroy()方法
不同点:
1.Applet具有很好的图形界面(AWT/Swing),与浏览器一起,在客户端运行.
2.Servlet 则没有图形界面,运行在服务器端.
注意事项:
注意配置web.xml