JSP答辩问题总结1
- 格式:doc
- 大小:34.50 KB
- 文档页数:7
jsp面试题及答案JSP(JavaServer Pages)是一种用于开发基于Java的动态网页的技术。
在JSP面试中,面试官常常会提出一系列问题,以评估面试者对JSP的理解和熟练程度。
本文将提供一些常见的JSP面试题,并给出相应的答案。
通过仔细阅读和准备,您将更好地应对JSP面试。
1. JSP 是什么?它与 Servlet 有什么区别?答:JSP(JavaServer Pages)是一种用于创建动态网页的技术。
它允许开发者嵌入Java代码在HTML页面中。
与Servlet相比,JSP更加易于理解和使用,因为它使用类似HTML的标记语言,并且可以集成到HTML页面中。
Servlet则是一个独立的Java文件,与HTML页面分开。
2. JSP 的生命周期是什么样的?答:JSP的生命周期由以下阶段组成:加载(Loading):服务器加载JSP页面,并将其转换为Servlet。
初始化(Initialization):JSP初始化,在此阶段会实例化Servlet,并调用init()方法。
服务(Service):在此阶段,Servlet接收并处理客户端请求。
销毁(Destroy):在JSP不再需要时,服务器会销毁Servlet,并调用destroy()方法。
3. JSP中的指令有哪些?它们的作用是什么?答:JSP中有三种指令:page指令:用于设置页面相关的属性,如页码、脚本语言、缓冲区大小等。
include指令:用于在当前JSP页面中包含另一个页面或文件。
taglib指令:用于导入自定义标签库。
4. JSP中的动作标签有哪些?它们的作用是什么?答:JSP中有许多内置的动作标签,包括:forward:用于将请求转发给其他资源。
include:用于在当前页面中包含其他页面或文件的内容。
setProperty:用于设置JavaBean属性的值。
getProperty:用于获取JavaBean属性的值。
useBean:用于实例化JavaBean对象。
(1)怎么连接数据库答案:通过JDBC_ODBC桥连接数据库(2)数据库有几个表几张表看一下自己论文的物理设计(3)数据库的表之间的联系看一下自己论文中的ER图(4)数据库的连接代码怎么写/找到数据库的连接代码连接数据库的代码在WEB_INF下的applicationContext.xml(5)数据库删除是逻辑删除还是物理删除数据库删除是物理删除。
(6)分页显示怎么实现分页显示是通过分页标签实现的(7)系统测试(什么是黑盒、白盒测试)黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
(8)解释CSSCSS(Cascading Style Sheet,可译为“层叠样式表”或“级联样式表”)是一组格式设置规则,用于控制Web页面的外观。
(9)webapp怎么配置只要放到tomcat下面的webapps下面即可,因为webapp是编译后的代码(10)web.xml中位置文件什么作用web.xml是初始化工程配置信息(11)servlet怎么配置需要在web.xml中配置(12)解释actionaction是mvc框架中的控制层,主要实现系统的增删改查(13)do get/post区别Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
(14)系统采用DreamweaverMX作为开发工具?是吗?页面是用DreamweaverMX开发,整个程序是利用eclipse开发。
(15)系统采用什么数据库进行开发?答案:SQL Server2000数据库(16)系统采用什么架构进行设计?答案:采用B/S架构进行设计。
1、JSP页面是如何被执行的?JSP执行效率比Servlet低吗?当客户端向一个JSP页面发出请求时,Web Container将JSP转化成Servlet的源代码(只在第一次请求时),然后编译转化后的Servlet并加载到内存中执行,执行的结果Response到客户端。
JSP只在第一次执行的时候会转化为Servlet,以后每次执行Web容器都是直接执行编译后的Servlet,所以JSP和Servlet只是在第一次执行的时候不一样,JSP慢一点,以后的执行都是相同的。
2、JSP如何处理运行时异常(run-time)exceptions?可以使用页面的errorPage属性捕获没有处理的运行时异常,然后自动转向到一个错误处理页面,代码如下:<%@ page errorPage=”error.jsp” %>如果在页面请求时出现运行时异常是,以上代码会把页面转向到JSP页面error.jsp,在error.jsp里面,可以通过以下代码定义这个页面是错误处理页:<%@ page isErrorPage=”true” %>这样描述错误信息的Throwable对象就可以在error.jsp页面里面访问到。
3、如果jsp表单元素的值为空,如何避免null出现在页面上?可以写一个简单的函数对空值进行处理,判断值是否为空,如果是空就返回空字符串。
实例代码如下:<%!String blanknull(String s){return (s == null) ? “” : s。
}%>在你的JSP里面,可以使用以上函数输出文本框或者其他页面元素的值,实例代码如下:<input type=”text” name=”shoesize” value=”<%=blanknull(shoesize)% >” > 4、如何避免JSP页面自动生成session对象?为什么要这么做?在默认情况下,在对一个JSP页面发出请求时,如果session还没有建立,JSP页面会自动为请求建立一个session对象,但是session是比较消耗资源的,如果没必要保持和使用session,就不应该创建session, 例如一些只是用来宣传产品的网站,往往没必要使用session来保存信息,可以使用jsp页面指令session=”false”来避免JSP页面为每个请求都自动创建session.实例代码如下:<%@ page ses sion=”false”>5、在servlets和JSP之间能共享session对象吗?当然可以,HttpSession session = request.getSession(true)。
问答题1、在JSP中,<% int a = 3; %>与<%! int b = 3; %>中定义的变量有何不同?答:前者定义的变量是局部变量,只在定义位置及以下地方可以使用该变量,其有效范围与其定义位置有关,且不同用户对此变量的操作互不影响;后者定义的变量是全局变量,它在整个页面内都是有效的,且与定义位置无关,不同用户对此变量的操作会相互产生影响。
2、使用tomcat服务器运行一个jsp页面,有哪几种方式?答:有三种方式:一、把jsp页面放在%tomcat%\webapp\root目录下;二、把jsp页面放在一个新建的web服务目录下,并且要把该web服务目录放在%tomcat%\webapp下;三、新建一个虚拟目录,把jsp页面放在虚拟目录下。
3、如果表单提交的信息中有汉字,接收该信息的页面应做怎么样的处理?答:有两种做法:一、修改接收页面的page指令标记,把属性charset首字母大写成Charset;二、在接收页面中对接收到的字符串先使用“ISO8859-1”字符集解码,然后再使用当前字符集重新编码,生成一个新的字符串。
4、Jsp数据库操作时,使用预处理语句的好处是什么?请详细阐述。
答:页面在向数据库服务器发送sql语句之前先把sql语句生成数据库服务器能直接执行的底层命令,这样能大大减少了数据库中sql解释器的负但,同时也提高了sql语句的执行速度。
5、请问下列语句的含义是什么?<jsp:useBean id="stu" class=".hhstu.Student" scope="page" /><jsp:setProperty name="stu" property=“*" />答:使用.hhstu包下的Student类,创建一个名为stu的javabean,且其有效范围为当前页面;对名为stu的javabean的所有成员变量赋值。
毕业答辩的时候老师问的问题都很基础,但是就怕咱们答的不专业,太业余,简单的总结了jsp的基础要点,希望对大家有帮助啦JSP技术介绍JSP简介JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Ja va程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JS P文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。
目前较新的是J SP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
1.我们正常写完一个JAVA文件都需要自动编译一下,这是为什么因为我们运行程序的时候用到的不是java程序而是class程序.tomcat读的是java文件还是什么是class文件不是java程序2.链接sqlserver的一般端口是什么1433还有其他的端口么tomcat的8080端口3.在java项目开发当作,你一般是怎么调试程序的sqlserver数据库的还原以及备份利用debug调试程序.4.如果我要给页面加过滤器控制乱码,我应该怎么做近来在调试Jsp文件问题时,中文乱码现象经常遇到,现将处理方法总结一下,供大家参考:①.Jsp文件页面显示乱码,这种情况比较好处理,在页面的Page指令加上如下一项就OK了:<% page contentType="text/html; charset=gb2312"%>②.Jsp页面采用表单提交时,提交的数据中含有中文,这时我们获取表单数据后,展示到其它页面时也会出现乱码,解决方案是在提交处理的Servlet里接收数据时,先加上如下一行代码:"gb2312";这是其中的一种作法,当页面较少时还好,如果页面较多,我每添加新的页面就要加上这句话,所以可以采用过滤器来解决,具体解决步骤如下:首先写一个过滤器类,代码如下:package demo;importimportimportimportimportimportimport public class SetCharacterEncodingFilter implements Filter {public void destroy { } public void doFilterServletRequest request, ServletResponse response, FilterChain chainthrows IOException, ServletException {"gbk";名--><filter-class></filter-class> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <--匹配所有的请求--><url-pattern>/</url-pattern> </filter-mapping>这样所有的请求都将交由这个过滤器处理下,这样无论我们添加多少个页面都可以放心了,不用总考虑要加那么一句代码了.③.在存取数据库时发生乱码现象,这种现象比较郁闷,处理起来相对复杂一点.首先要在数据存入数据库时,进行如下编码的转换:如我们要把含有中文的字符串存入数据库,首先:String s="author";String author=new String"ISO8859_1","gb2312";在从数据库取出展示到页面时,也要经过如下转换:Strings="author";String author=new String"GB2312","ISO8859_1";以上是我总结的对三种Jsp文件中文乱码的处理方法,希望对大家有所帮助.5.在数据库定义字段的时候,可以选择char还有varchar,你一般选择什么,为什么选择varchar,因为varchar是可变长的字符型,而char是定长的5.为什么要用struts自身带的text框,它与HTML的有什么区别在jsp中<html:text>经java解释后就变成了<input type="text"> 两者是等价的在jsp页面中之所以要用<html:text>是因为struts结构中许要在actionform中直接根据<html:text>中的属性poperty与actionform 中的字段一一对应取值不许要普通<input>采用来去值怎么导入现有的数据库,它的备份为.bak还原数据库或者附加数据6.在中文编程中,你使用的服务器是TOMCAT,如果出现乱码,你是怎么解决的方法一:更改页面字符集方法二:在tomcat的中更改字符集JAVA连接sqlserver需要哪些jar包7.如果我要实现上传图片,然后再另一个页面显示,我应该怎么做应该把上传的图片输出到服务器下面的某一个文件夹,这样可以保证本机图片删除以后任何页面都可以访问并且显示.安装sqlserver时,经常会出现安装问题,例如会出现说“某某文件被挂起,安装运行程序之前请重新启动计算机”,你是否也遇见过这样的问题遇到过,只要把暴风影音或者网络电视卸载就可以解决.8.如果我要从配置文件中读取中文汉字,显示到JSP页面上如果出现乱码我应该怎么处理"iso8859_1", "gb2312";怎么去更改sqlserver的字符集可以用下面语句改变数据库的字符集. ALTER DATABASE yourdb COLLATE 新字符集改变sql server的默认字符集,要重建master9.在获取一个从数据库查询回来的数组,你一般是怎么知道它里面存储了多少数据利用数组.size方法就可以知道其数目是多少.你在开发中用过JAVASCRIPT么,你为什么要用这个,它与JAVA有什么关系用到了, JAVASCRIPT可以减轻服务器的访问频率,从而提高服务器的运行速度.达到了前台校验的效果.它和java没有任何关系,属于一种脚本语言.中如果出现EXCEPTION的话,你应该怎么做,你在这次开发中用到了么java 连接mysql需要哪些JAR包第一种方法是throws DAOException异常第二种方法是捕获异常----try catch方法11.数据库选用Mysql,SQLSERVER为什么如何倒入数据库JAVA连接sqlserver需要哪些jar包选择SQL SERVER,安全性高,性能好.如何倒入数据库右键数据库-然后附加数据库即可.JAVA连接sqlserver需要哪些jar包12.简单的说一下B/S结构体系的优点B/S结构:Browser/Server,浏览器/服务器模式:是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件.这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用.客户机上只要一个浏览器Browser,如Netscape Navigator或 Explorer,服务器安装、Sybase、Informix或 SQL Server等.浏览器通过Web Server 同数据库进行数据交互.B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件.只要有一台能上网的电脑就能使用,客户端零维护.系统的扩展非常容易.B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新.一、B/S结构的优点B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件.只要有一台能上网的电脑就能使用,客户端零维护.系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了.甚至可以在线申请,通过公司内部的安全认证如CA证书后,不需要人的参与,系统可以自动分配给用户一个账号进入系统.二、B/S架构软件的优势与劣势1维护和升级方式简单.目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性.对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护.无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享.所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向.今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的.因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器.2成本降低,选择更多.大家都知道在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位. 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在服务器上即可,而且安全性高.所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行. 比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统. 3应用服务器运行数据负荷较重.由于B/S架构管理软件只安装在服务器端Server上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器Server端完全通过浏览器实现,极少部分事务逻辑在前端Browser实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护.但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想.因此,许多单位都备有数据库存储服务器,以防万一.模式分为哪三个组件,工作的核心Struts应用中包含3种组件:控制器组件C、模型组件M、和视图组件V. 控制器:ActionServlet核心控制器、自定义Action代表一个用户操作. 模型组件:定义和实现业务逻辑的接口和类.视图组件:jsp页面、ActionForm和Struts标签.ActionServet是Struts最核心的组件.在Web容器启动的时候,ActionServlet被初始化,加载配置文件这就是为什么当struts配置文件修改后要重启web容器.Struts处理请求的详细过程:1客户端浏览器发送请求到ActionServlet,ActionServlet根据请求的路径和的配置信息找到对应的Action Bean 和 Form Bean .如发送请求, ActionServlet就会根据struts配置信息找path属性为“/register”的Action Bean,于是找到RegisterAction,并得知RegisterAction的name 属性为"memberForm",于是找到MemberForm的实例如果不存在则创建.2在确定将要调用的Action Bean 和对应的Form Bean后,就将请求中的值填充到Form Bean 中Action可以不关联任何ActionForm,这一步是可选的.在调用Action的execute方法之前,ActionServlet还要准备好ActionMapping 参数,ActionMapping中包含了该Action的配置信息.3然后struts将请求分发至相应的 Action Bean 处理,ActionMapping参数,ActionForm参数,request 和 response都作为参数传给处理请求的Action Bena 的execute 方法.4Action 调用业务逻辑方法,得到返回值,并返回ActionForward对象.5控制权重新回到 ActionServlet ,ActionServlet 很据 Action 返回的ActionForward 对象转发到相应的jsp6处理结果返回给浏览器..注意的地方:1 ActionServlet 将控制权转到页面的时候采用的是转发的方式url.forwardrequest,response; ,所以转发到页面的request 和 Action 方法参数中的 request 是同一个请求,数据可以通过 request 对象的attribute 属性传递.2当需要重定向的方式转到新的页面的时候,可以再Action 代码中使用url; ,并返回null .3ActionForm 很据对应 Action 的 scope 属性配置不同而生命周期有所不同.一般,scope 属性设为request, 则每次请求开始时ActionServlet 创建新的ActionForm 对象,保存在request 对象的 attribute属性中.所以可以在 Action 代码中设置ActionForm 的值 ,在页面中取出.13.静态页面和动态页面的区别静态页面页面不能动态显示数据,也就是说和数据库没有关系,只是信息写死在页面,无法实现实时更新的效果.动态页面是随着数据库的变化而变化,从而达到了数据的实时性.14.如何实现的页面间的跳转简略回答就是通过forward进行跳转.详细解答就需要从页面请求开始一直到响应页面,就是通常说的找代码.Struts的跳转是通过.do请求,然后根据请求在struts里面找到响应的请求,根据请求就可以看到下面的forward转向页面是哪一个,通常有成功页面和错误页面,只要看标示就可以,例如<forward name="success" path="/index/" contextRelative="true"/>;而jsp页面则可以直接转向,form表单上面直接写明了请求的jsp页面.15.如何设置背景颜色,字体大小<body background="<%=%>/image/">这是设置背景图片<body bgcolor="blue">这是设置背景颜色以上两种是对整个页面进行设置,如果对于td和tr来讲也是同理,运用background和bgcolor即可.16.设置文本框的代码<input name="userName" type="text" id="username"size="14" maxlength="20">17.打开数据库,找到某某表,如果我更改某个数据,某个表里的哪个值会改变从开始菜单--所有程序-Microsoft SQL server-企业管理器-找到数据库那一层---找到自己的数据库-双击表--了解自己数据库中有几张表,各个字段都代表什么意思.18.购物篮是不是用SESSION做的答案:是用session做的.购物车主要是通过session进行操作,和数据库没有关系.19.删除一条记录用什么方法怎样实现用户登录的验证是怎样的.利用传递主键的方法,也就是delete from 表名 where 主键=”传递过来的主键的值”.利用select from 用户信息表 where 用户名=”” and 密码=””,如果有数据则登陆成功链接sqlserver的代码是什么try {conn = DriverManager.getConnection"jdbc:microsoft:;DatabaseName=bookTable;user=s a;password=sa";stmt = 1004, 1007;rs = sql;} catch SQLException ex {} return rs;。
php高中班javascript答辩题目1什么是javascript?答:Javascript是一种专门设计用来增强网页交互性的脚本语言,它也是一种解释型语言。
2Javascript与C语言的不同?答:Javascript是一种弱类型的语言,并且是解释型语言。
3Javascript能做什么?答:通过javascript我们可以对HTML元素进行编程控制,包括增加、删除、修改元素以及元素属性等能力;可以在HTML网页中放入动态文本;响应用户在使用网页时的事件;用于校验用户输入的数据;检测访问者的浏览器;用于创建cookies(cookie 是存储于访问者的计算机中的变量。
每当同一台计算机通过浏览器请求某个页面时,就会发送这个cookie。
你可以使用JavaScript 来创建和取回cookie 的值。
)4Javascript整个体系包含哪些内容?答:Javascript核心语言定义,原生对象和内置对象,浏览器对象模型BOM,文档对象模型DOM,事件处理模型。
5Javascript的数据类型有哪些?分别举例说明?答:原始数据类型和引用数据类型;原始数据类型中又分为:Undefined,Null,Boolean,Number 和String;引用数据类型——对象。
6Javascript中数据类型相互转化的函数?列举答:转化为字符串值可以用toString( )方法,转化为数字值可以用parseInt( )和parseFloat( )方法(只能是String类型的转换),Boolean(value)转化为Boolean类型,Number(value)转换为数字,String (value)转换为字符串;7把javascript写入到页面中的方式?答:外联:script:src,标签内,body结束标记前,超链接的href中8Javascript中怎么创建一个数组?答:var arr = new Array()var arr=[ ];9Js中怎么给数组添加一个新的值答:arr.push(value, ...),添加一个或多个值到数组尾部10Js中删除数组中的所有值最简单的方法答:arr.length = 0;11Js中删除数组的第一个元素的方法答:arr.splice(0,1)12Js中删除数组的最后一个元素的方法答:arr.length=arr.length-1;13Js中怎么获取当前时间?答:var myDate = new Date( );myDate.getTime(); //获取当前时间(从1970.1.1开始的毫秒数)14Js中怎么获取当前年份、月份和日期答:var myDate = new Date( );myDate.getFullYear(); //获取完整的年份(4位,1970-????)myDate.getMonth(); //获取当前月份(0-11,0代表1月)myDate.getDate(); //获取当前日(1-31)15javascript的事件流指的是什么?答:事件的顺序、用户或浏览器操纵网页、用户点击按钮都是事件流16Js中事件处理方式有哪2种?有什么区别?答:传统/现代事件处理程序指派方法,传统:添加新函数会将原本的函数覆盖,但所有浏览器都支持;现代:新函数在原函数之后执行,但有浏览器不兼容性的问题;17Js现代事件处理方式中,怎么针对老版本的浏览器做兼容性处理?答:If(document.addEventListener){[object].addEventListener(“事件名称”,函数名,true/false) //DOM}else if(document.attachEvent){[object].aattachEvent(“事件名称”,函数名,true/false) // IE}18Js的事件对象Event中包含哪些信息内容(可以获取哪些信息内容)答:件发生时的特定信息:触发实践的对象、事件发生时的鼠标信息、事件发生时的键盘信息19事件的类型有哪3种?答:鼠标类型、键盘类型、html类型20列举键盘事件,并说明各自的区别答:keydown:按下一个键时发生;keypress:按下一个字符键时发生;keyup:释放按键时发生21列举鼠标事件,并说明区别答:click:点击鼠标左键;dblclick:双击鼠标左键;mousedown:点击鼠标;mouseup:释放鼠标按钮;mouseout:鼠标移出元素范围;mouseover:鼠标移入元素范围;mousemove:鼠标在元素上,重复发生mousemove事件22列举常见的HTML事件,并说明各自触发条件答:load:页面加载完毕;onload:关闭页面;select:文本框中,选择一到多个字符;change:文本框中,修改内容并失去焦点触发。
J S P答辩问题总结Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】1、如何混合使用J s p和S S I#i n c l u d e 在J S P中可以使用如下方式包含纯H T M L:<!--#i n c l u d e f i l e=""--> 但是如果中包含J S P C O D E,我们可以使用:<%@i n c l u d e f i l e=""%>?2、如何执行一个线程安全的J S P 只需增加如下指令<%@p a g e i s T h r e a d S a f e="f a l s e"%>3、J S P如何处理H T M L F O R M中的数据通过内置的r e q u e s t对象即可,如下:<% S t r i n g i t e m=("i t e m");i n t h o w M a n y=n e w I n t e g e r("u n i t s")).i n t V a l u e(); %>4、在J S P如何包含一个静态文件静态包含如下:<%@i n c l u d e f i l e=""%> 动态包含如下:<j s p:i n c l u d e p a g e=""f l u s h="t r u e"/>5、在J S P中如何使用注释主要有四中方法:1。
<%--与--%> 2。
. r e t u r n();}%> <% ("i n g e n e r a l,l a o l e e i s n o t b a d d i e"); %> <%=h o w B a d F r o m(r e q u e s t)%>12、如果BROWSER已关闭了COOKIES,在JSP中我如何打开SESSION来跟踪使用U R L重写即可,如下:<%@p a g e s e s s i o n="t r u e"%> <% I n t e g e r n u m=n e w I n t e g e r(100); ("n u m",n u m); S t r i n g u r l=("");%> <a h r e f=<%=u r l%>></a><%@p a g e s e s s i o n="t r u e"%> <% I n t e g e r i=(I n t e g e r)("n u m"); ("N u m v a l u e i n s e s s i o n i s"+()); %>13、在J S P中能发送E M A I L吗可以使用SUN的专用包:包。
答辩问题1.你完成的系统为用户提供了什么功能?说明它的业务流程。
本设计实现了客户购买的前台页面和管理员管理的后台管理页面。
普通客户在浏览页面的时候可以进行商品的浏览、购买、下定单、注册成为会员,查看和修改用户信息等操作。
管理员可以进入系统的后台进行管理,可以进行花品的添加、修改、删除,用户订单的处理、客户信息的查询以及其他基本信息的录入和修改等操作。
本系统主要使用JSP技术来使网站动态页面实现,在不同操作下显示出登录页面、注册页面、商品的浏览页面,以及购物车页面等。
3. 以你完成的其中一个模块为例说明实现过程。
在实现过程中你遇到了什么困难,是如何解决的?购物车模块和前台订单处理模块的实现,购物车模块一般包括添加花品即花品放入购物车,删除花品,改变花品数量,清空购物车,购物车信息查看五个功能。
我出现过代码运行出现错误和乱码的情况,但我通过查阅资料、请教老师,自己多实践探索最后得到了解决。
4. 数据库是如何设计的?基于E-R模型和3NF(第三范式)的设计方法1. 需求分析阶段(需求分析说明书)2. 概念设计阶段(E-R图)3. 逻辑设计阶段(数据模型、数据表)4. 物理设计阶段(根据DBMS特点和处理的需要,对逻辑设计的关系模型进行物理存储安排并设计索引,形成数据库内模式)5. 数据库实施阶段6. 数据库运行和维护阶段5. 静态页面采用什么工具设计完成的?Dreamweaver——静态页面的设计Fireworks——图片处理6. jsp开发网站有几种模式?你采用的是那种模式?为什么?B/S和C/S B/S B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。
这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
客户机上只要安装一个浏览器,服务器安装SQL Server、Oracle、MYSQL等数据库。
1、如何混合使用Jsp和SSI #include?在JSP中可以使用如下方式包含纯HTML:<!--#include file="data.inc"-->但是如果data.inc中包含JSP CODE ,我们可以使用:<%@include file="data.inc"%>2、如何执行一个线程安全的JSP?只需增加如下指令<%@ page isThreadSafe="false" %>3、JSP如何处理HTML FORM中的数据?通过内置的request对象即可,如下:<%String item = request.getParameter("item");int howMany = new Integer(request.getParameter("units")).intValue();%>4、在JSP如何包含一个静态文件?静态包含如下:<%@ include file="copyright.html" %>动态包含如下:<jsp:include page="copyright.html" flush="true"/>5、在JSP中如何使用注释?主要有四中方法:1。
<%-- 与--%>2。
//3。
/**与**/4。
<!--与-->6、在JSP中如何执行浏览重定向?使用如下方式即可:response.sendRedirect("/index.html"); 也能物理地改变HTTP HEADER属性,如下:<%response.setStatus(HttpServletResponse.SC_MOVED_PERMANENTLY);String newLocn="/newpath/index.html";response.setHeader("Location",newLocn);%>7、如何防止在JSP或SERVLET中的输出不被BROWSER保存在CACHE中?把如下脚本加入到JSP文件的开始即可:<%response.setHeader("Cache-Control","no-store"); //HTTP 1.1response.setHeader("Pragma","no-cache"); //HTTP 1.0response.setDateHeader ("Expires", 0); //prevents caching at the proxy server%>8、在JSP中如何设置COOKIE?COOKIE是作为HTTP HEADER的一部分被发送的,如下方法即可设置:<%Cookie mycookie = new Cookie("aName","aValue");response.addCookie(mycookie);%>9、在JSP中如何删除一个COOKIE?<%Cookie killMyCookie = new Cookie("mycookie", null);killMyCookie.setMaxAge(0);killMyCookie.setPath("/");response.addCookie(killMyCookie);%>10、在一个JSP的请求处理中如何停止JSP的执行如下例:<%if (request.getParameter("wen") != null) {// do something} else {return;}%>11、在JSP中如何定义方法你可以定义方法,但是你不能直接访问JSP的内置对象,而是通过参数的方法传递。
如下:<%!public String howBadFrom(HttpServletRequest req) {HttpSession ses = req.getSession();...return req.getRemoteHost();}%><%out.print("in general,lao lee is not baddie ");%><%= howBadFrom(request) %>12、如果BROWSER已关闭了COOKIES,在JSP中我如何打开SESSION来跟踪使用URL重写即可,如下:hello1.jsp<%@ page session="true" %><%Integer num = new Integer(100);session.putValue("num",num);String url =response.encodeURL("hello2.jsp");%><a href=<%=url%>>hello2.jsp</a>hello2.jsp<%@ page session="true" %><%Integer i= (Integer )session.getValue("num");out.println("Num value in session is "+i.intValue());%>13、在JSP中能发送EMAIL吗可以使用SUN的专用包:.smtp包。
如下脚本使用SmtpClient类发送EMAIL。
<%@ page import=".smtp.SmtpClient, java.io.*" %><%String from="**************";String to="*****************, ***********.cn";try{SmtpClient client = new SmtpClient("mail.xxxxx.xxx");client.from(from);client.to(to);PrintStream message = client.startMessage();message.println("To: " + to);message.println("Subject: Sending email from JSP!");message.println("This was sent from a JSP page!");message.println();message.println("Cool! :-)");message.println();message.println("Good Boy");message.println("Im in ");message.println();client.closeServer();}catch (IOException e){System.out.println("ERROR SENDING EMAIL:"+e);}%>14、在SERVLET中我能调用一个JSP错误页吗当然没问题,如下展示了如何在一个SERVLET控制逻辑单元内调用一个JSP错误页面。
protected void sendErrorRedirect(HttpServletRequest request,HttpServletResponse response, String errorPageURL,Throwable e)throws ServletException, IOException {request.setAttribute ("javax.servlet.jsp.jspException", e);getServletConfig().getServletContext().getRequestDispatcher(errorPageURL).forward(request,response);}public void doPost(HttpServletRequest request,HttpServletResponse response) {try {// do something} catch (Exception ex) {try {sendErrorRedirect(request,response,"/jsp/MyErrorPage.jsp",ex);} catch (Exception e) {e.printStackTrace();}}}15、JSP和APPLET如何通讯JSP如何与EJB SessionBean通讯下面的代码段作了很好的示范<%@ page import="javax.naming.*, javax.rmi.PortableRemoteObject,foo.AccountHome, foo.Account" %><%!//定义一个对SessionBeanHome接口实例的全局引用AccountHome accHome=null;public void jspInit() {//获得Home接口实例InitialContext cntxt = new InitialContext( );Object ref= cntxt.lookup("java:comp/env/ejb/AccountEJB");accHome = (AccountHome)PortableRemoteObject.narrow(ref,AccountHome.class);}%><%//实例化SessionBeanAccount acct = accHome.create();//调用远程方法acct.doWhatever(...);// 如此等等%>16、当我使用一个结果集时,如何防止字段为"null"的字域显示在我的HTML输入文本域中? 可以定义一个简单的函数来达到目的,如下:<%!String blanknull(String s) {return (s == null) ? "" : s;}%>然后在JSP的FORM中,可以这样使用<input type="text" name="shoesize" value="<%=blanknull(shoesize)%>">17、如何中SERVLET或JSP下载一个文件(如:binary,text,executable)?现提供两个解决方案:A:使用HTTP,B:在Servlet中,通过设置ContentType和使用java.io包的Stream等类可作到.例如:response.setContentType("application/x-msword");然后想输出缓冲中写一些东东即可。