getPropertyname=”myBean”property=”name”/>
11.表单数据的提交常用的有哪两种方式,有什么区别?
get提交和post提交的区别,共同点、不同点
可用GET方法递少量的数据,因为查询串的长度可限定到240个字符。
12.访问数据库的步骤,识别其遗漏的代码行,访问数据库的页面需要导入哪个包?
数据库连接池的使用,
装载驱动程序(驱动程序类)、建立数据库连接(URL、用户名、密码)、建立语句并发送SQL语句、检索数据、关闭数据库连接,每一个步骤用什么样的语句,其含义是什么?
executeQuery()方法的执行。
三种Statement对象:
Statement、PreparedStatement、
Statement接口有四个基本的方法可以使用,分别是:
executeQuery()、executeUpdate()、execute()、executeBatch()
13.JSP和servlet各有什么优点,有什么区别?
能否互相代替?
Servlet是一种在服务器端运行的Java程序,从某种意义上说,它就是服务器端的Applet。
所以Servlet可以像Applet一样作为一种插件(Plugin)嵌入到WebServer中去,提供诸如HTTP、FTP等协议服务甚至用户自已定制的协议服务。
而JSP是继Servlet后Sun公司推出的新技术,它是以Servlet为基础开发的。
Servlet与JSP相比有以下几点区别:
编程方式不同、Servlet必须在编译以后才能执行、运行速度不同等。
14.servlet是怎么执行的?
别名用在什么地方?
Servlet的生命周期是什么?
servlet接口,servlet代码的编写以及如何使用内置对象?
其中初始化的方法和service()方法的作用?
调用servlet时如何使其输出一个页面?
一个servlet如何包含,定向另一个servlet或jsp?
跳转时要用到接口RequestDispather类型对象的那个方法。
配置Servlet执行方式
initparamservletcom.mycompany.servlet.InitParamServlet
initparamservlet
/initparamservlet
或者
myservlet
com.mycompany.servlet.MyServlet
MajorVersion
1
MinorVersion
2
Servlet的生命周期是什么
a、servlet的装入和实例化由servlet容器来负责。
b、容器通过调用servlet的init()方法来初始化servlet,并且传递一个ServletConfig对象给它
c、现在servlet已经准备好处理客户的请求了。
当请求到达容器时,容器负责把请求包装成ServletRequest对象,然后调用servlet的service()方法,同时也把包装好的ServletRequest对象作为参数通过service()方法传递给servlet。
d、servlet在service()中通过ServletRequest对象获得客户请求信息,并对请求进行处理,然后把响应信息包装为ServletResponse对象,通过service()方法返回给servlet容器。
然后由容器从ServletResponse对象抽出响应信息并返回给客户端。
e、一旦容器决定从服务中删除某个servlet,它会调用该servlet的destroy()方法,servlet会在destroy()方法中释放它所占用的资源。
然后容器释放servlet实例一遍系统进行垃圾回收
15.过滤器的概念
过滤器是Servlet2.3技术规范引入了一种新的Web应用程序组件。
过滤器位于客户和基层Web应用程序之间,用于检查和修改两者之间流过的请求和响应。
过滤器作为一种Web应用程序组件,可以传输或者修改用户请求与servlet响应。
它可以在用户请求到达servlet之前对请求进行处理,也可以在响应离开servlet之后修改响应信息。
16.过滤器的工作过程
A.在请求到达servlet之前,过滤器可以截取该请求并检查请求内容。
除了检查之外,还可以定制请求,如修改请求标题或者请求数据等。
具体的方法是对传递过来的ServletRequest对象进行操作,达到检查和修改的目的。
B.被过滤器处理后的请求发给servlet
C.servlet执行其任务并可能产生响应
D.过滤器可以截获响应信息并进行修改,例如修改响应标题或者响应数据。
具体的方法是通过操作servlet对象传递给它的ServletResponse对象来达到目的。
处理完毕之后将修改后的响应信息发送给客户端。
17.过滤器链的概念,过滤器链中不同过滤器的先后顺序是在哪个文件中设定?
我们可以实现多个过滤器,这些过滤器就形成了一个“过滤器链”,过滤器链的实现与维护工作是由servlet容器负责实现的。
过滤器链中不同过滤器的先后顺序是在部署文件web.xml中设定的。
最先截取客户请求的过滤器将最后才能截取servlet响应信息。
18.在WEB应用程序中如何部署servlet过滤器和监听器?
要求能看懂过滤器链的配置即可。
由两部分组成。
A.声明过滤器
LogFilter
filters.LogFilter
filterVersion
1.0
copyright
B.设置过滤器映射
在映射过滤器时,应高度重视的顺序。
一旦顺序颠倒,完全可能形成与设计时完全不同的结果。
可采用两种方式进行映射
A.使用servlet-name标记将过滤器连接到一个servlet中
LogFilter
myServlet
B.使用url-pattern将过滤器映射到某个URL模式
copyrightFilter
/*.jsp
第二种方法会获得更大的灵活性。
它能够使开发人员将过滤器应用于一组servlet、JSP或任何静态资源。
19.简化JSP页面的解决方案有哪些?
使用标签库有什么优势?
在tld文件中taglib标签以及子标签tag的书写,开发标签的两种方式:
直接实现原始接口Tag和TagSupport类继续
开发自定义标签的步骤
1)容器创建一个新的标签实例
2)setPageContext()方法来设置标签的上下文
3)使用setParent()方法设置这个标签的上一级标签。
4)设置标签的属性setXXX()
5)调用doStartTag()方法,返回eval_body_include就计算标签的body;返回skip_body时,就忽略计算标签body;
6)doEndTag()方法,这个方法返回eval_page:
标签结束时计算当前JSP页面的其他的部分;返回SKIP_PAGE:
停止计算JSP页面的其他的部分。
7)调用release()方法释放标签程序占用的任何资料.
开发带标签体的标签
带有body的标签必须实现javax.servlet.jsp.tagext.BodyTag接口,
1)容器创建一个新的标签实例以后,通过setPageContext设置标签的页面上下文
2)使用setParent方法设置这个标签的上一级标签
3)设置属性
4)调用doStartTag方法,返回:
EVAL_BODY_INCLUDE,SKIP_BODY
5)调用setBodyContent设置当前的BodyContent.
6)调用doInitBody
7)计算完BodyTag后调用doAfterBody,返回EVAL_BODY_TAG,表示继续计算一次BodyTag,直到返回SKIP_BODY才继续执行(8)步。
8)调用doEndTag方法,返回EVAL_PAGE或者skip_page.
9)调用release()方法.