接着上一篇继续
第九章 Servlet程序开发
第一节:Servlet简介 , Servlet采用多线程处理方式 。 本章可跳过
第二节:第一个Servlet程序。展示了一个Servlet如何完成,先继承HttpServlet,再配置web.xml。
第三节:Servlet与表单。演示了一个表单提交。后台接受参数
第四节:Servlet生命周期:Servlet生命周期受到Web容器的控制,生命周期包括加载、初始化、服务、销毁、卸载5个部分。初始化调用init()方法,销毁调用destroy方法
第五节:取得初始化配置信息。Servlet中的初始化方法init(ServletConfig config)可获取web.xml中的<servlet>标签下的<init-param>标签中的内容。使用config.getInitParameter("参数名")即可。
第六节:取得其他内置对象。获取session采用request.getSession()方法,获取ServletContext采用super.getServletContext
第七节:Servlet跳转。客户端跳转采用response.sendRedirect方法,无法携带request参数。服务器端跳转采用request.getRequestDispathcer("跳转页面").forward(request,response)方法。
第八节:Web开发模式,Mode I 和 Mode II 。第一种模式早被抛弃,第二种模式就是MVC模式,简单介绍了下,可跳过。
第九节:JSP+Servlet实现了一个登陆。跳过
第十节:过滤器。实现javax.servlet.Filter接口,接口中定义三个方法,init(FilterConfig filterConfig)可获取web.xml中的<init-param>参数,doFilter(ServletRequest request , ServletResponse response ,FilterChain chain)定于具体的过滤方法,通过FilterChain继续向下传递,destroy()销毁方法。web.xml中配置Filter。注意几点:1、doFilter后面的代码仍然会执行。2、doFilter中代码执行完毕后,如果可以放行,则执行chain.doFilter(request,response)来继续传递过滤器。因为他是链式的。要一链一链的传下去
第十一节:监听器。分为三类,分别是对application监听、session监听、request监听。主要方法基本相同,也是分为对对象状态的监听和对象属性的监听两类。首先以application监听为例。
对application监听,实际上就是对ServletContext进行监听,首先是状态的监听,需要实现ServletContextListener,重写两个方法,contextInitialized(ServletContextEvent sce) , contextDestroyed(ServletContextEvent sce)。简单点说,就是容器启动的时候调用第一个,销毁的时候调用第二个。ServletContextEvent有一个方法getServletContext方法。然后就可以执行相应的方法。
listener第二个主要方法是上下文属性的监听,以application为例,需要实现ServletContextAttributeListener接口,接口中定义三个方法,attributeAdded(ServletContextAttributeEvent scab),attributeRemoved(ServletContextAttributeEvent scab),attributeReplaced(ServletContextAttributeEvent scab)。分别当application中定义的属性在增删改时处罚。参数ServletContextAttributeEvent有两个方法,getName和getValue,取得触发的属性名称和属性值。
session中也是分为监听session状态和监听session属性变化这两类,方法基本相同。
request也是一样的。
第十章:表达式语言
第一节:表达式语言简介。即${属性名称},好处为如果输出内容为null,则自动用空字符串代替
第二节:表达式语言的内置对象。先放张截图
如有同名参数,需在参数前加上属性范围,例如${requestScope.info}或${sessionScope.info}。其他的就不说了。
第三节:集合操作。list输出文章展示了下标输出,即${list[0]},${list[1]},${list[2]},map的输出则采用${map["key1"]}或
${map.key1}两种方式。
第四节:在MVC中应用表达式语言。1、可输出对象的属性。直接调用${student.name}即可输出student对象的name属性值。如果是个对象集合,则Iterator循环遍历。
第五节:运算符。首先是算术运算符,加减乘除取余,跳过。关系运算符,等不等大于小于,跳过。逻辑运算符,与或非。跳过。有一个${empty info} empty可判断是否为null
第十一章:Tomcat数据源
第一节:数据源操作原理。先加载数据库驱动,DriverManager取得数据库连接对象,通过url,username,password创建数据库链接Connection,然后Preparedstatement执行sql,最后关闭数据库、释放资源。
第二节:在Tomcat中使用数据库连接池。即配置使用JNDI。首先在tomcat目录下的conf下的server.xml配置下。
然后在项目的web.xml中配置下
第三节:查找数据源。直接上图。
第十二章:JSP标签编程 因为用的极少,且书中也说权作了解,所以不再记录,直接跳过。
第十三章:JSP标准标签库。介绍了jstl及相关的xml标签库、数据库标签库。跳过。
第十四章:AJAX开发技术(本章技术过于老旧,可整体跳过。)
第一节:Ajax技术简介。即局部刷新。不说,跳过。
第二节:XMLHttpRequest对象。过时了,不说,跳过。
第三节:第一个Ajax程序。过时代码,不说,跳过。
第四节:返回XML数据。过时,不说。
第十五章:Struts基础开发、第十六章:Struts常用标签库、第十七章:Struts高级开发(Struts属于10年前框架,全部跳过。)
附录:
第一节:JavaMail(跳过)
第二节:Java操作Excel。(介绍的JExcelAPI工具已过时,现在有完毕的第三方包)
第三节:MyEclipse开发工具(介绍了MyEclipse的安装及配置,跳过)
第四节:HTTP状态码及码头信息,贴两张图,大家看下即可