计算机毕业答辩中JSP提问知识点
- 格式:pdf
- 大小:144.61 KB
- 文档页数:3
问答题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的所有成员变量赋值。
JavaScript核心技术答辩问题A类1、JavaScript有哪几种数据类型。
答:boolean(布尔)、Number(数值类型)、string(字符串)、undefined(未初始化的)、null(空)、对象类型2、while和do while循环有什么区别。
答:do while是先执行后判断,while是先判断后执行。
3、break与continue的区别。
答:break是直接结束当前循环,continue是结束本次循环,接着继续判断。
4、运算符有哪几种?并举例!(每个运算符至少说出三个例子)答:算术运算符,如:+,-,/,*,%,++,--比较运算符,如:>,<,<=,>=,==,!=,<>逻辑运算符,如:&&,!,||条件运算符,如:三目运算符《表达式1?表达式2:表达式3》5、我们javascript代码可以放置在哪个HTML元素中?答:1、<head></head>2、<body></body>6、JavaScript语言中的基本元素有哪些?答:标示符,变量,注释,数据类型7、条件控制语句有哪些?答:if语句,if…else语句,switch语句8、循环控制语句答:while循环,do…while循环,for循环9、对象访问语句For..in循环语句,with语句10、如果我想向页面输出“你好”;用到的语句是什么?答:document.write(“你好”);11、在页面中怎么引用外部脚本?答:<script src="xxx.js">12、JS中的三种弹出式消息提醒(警告窗口、确认窗口、信息输入窗口)的命令是什么?答:alert()confirm()prompt()13、Array对象、Date对象、String对象分别用来处理什么的?答:Array对象用于在单个的变量中储存多个值Date对象用于处理日期与时间String对象用于处理文本(也就是字符串)14、数组中的什么方法是颠倒数组中元素的顺序?Reverse();15、实例化一个对象的关键字是什么?答:new16、JavaScript中如何实现定时调用功能setTimeOut(函数,100);17、IndexOf()和lastIndexOf()方法分别代表什么意思,它们有什么区别?答:IndexOf():检索字符串lastIndexOf():从后向前检索字符串区别:IndexOf():从左往右查找,返回参数第一次出现的索引位置lastIndexOf():从右往左查找,返回参数最后一次出现的索引位置18、Substr()和substring()中分别有几个参数,分别代表什么意思?答:Substr():两个参数,参数一:以索引开始包含本身,参数二:指定的个数,Substring();两个参数,参数一:以索引开始包含本身,参数二:以索引结束不包含本身19、创建一个函数所用的关键字是什么?如何定义?答:关键字:function定义:function 函数名一组参数置于括号中的执行代码20、浏览器对象模型中我们学过哪几个对象?分别是什么?答:1.window对象:它表示浏览器的窗口2.navigator对象:包含有关访问者浏览器的信息3.screen对象:包含有关用户屏幕的信息4.history对象:包含浏览器的历史5.loction对象:用于获得当前页面的地址(URL),并把浏览器重新定向到新的页面21、我们在调用什么对象的子对象时可以不指明此对象?为什么?答:我们在调用window对象的子对象时可以不指明window对象,原因:因为window对象是BOM中的顶层对象22、innerText和innerHTML的区别在哪里?答:innerText包含着重起始位置到终止位置的内容,但它出去html标签;InnerHTML重对象的起始位置到终止位置的内容,包含html标签23、全局变量和局部变量的范围有什么不同?答:全局变量是指在整个程序中都可用;局部变量只是在定义他的那个函数中里可用!出了那个函数范围他就没意义了!24、简述列举文档对象模型DOM里document的常用的查找访问节点的方法并做简单说明答:Document.getElementById 根据元素id查找元素 Document.getElementByName 根据元素name查找元素 Document.getElementTagName 根据指定的元素名查找元素25、访问表单对象,可以用哪几种方法?答:Document.getElementById(“表单标签的ID”)Document.getElementByName(“表单标签的Nama”)[索引]Document.表单标签的NameDocument.forms[“表单标签的name”];26、表单对象包含了它内部表单元素的集合属性,这个属性是什么?是用于什么的?答:elements[]集合;用于访问表单元素的,27、表单元素有哪几种访问方式?答:1、对于有ID属性的表单元素,通过Document.getElementById2、对于有Name属性的表单元素,可以通过Document.getElementByName3、首先可以先访问表单元素所属的表单对象后,通过elements[]集合访问28、可以使用对象的什么方法可以绑定事件和事件处理程序?并说出语法AttachEvent();1、对象.AttachEvent(“事件名”,事件处理程序)【针对IE】2、对象.addEventListener(“事件名”,事件处理程序,false);29、图片切换的原理改变图片的路径,30、浮动广告图片的原理根据可视区域来判断广告图片浮动的范围和边界。
毕业答辩的时候老师问的问题都很基础,但是就怕咱们答的不专业,太业余,简单的总结了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. 研究背景和意义:-你的研究是基于什么问题或需求?-你为什么选择这个特定的研究领域?-你的研究对现实世界有什么意义或应用?2. 文献综述:-你在研究过程中查阅了哪些相关文献?-你是如何评价这些文献的?-你的研究与现有研究有什么不同?3. 研究方法和设计:-你采用了哪些研究方法?-你的实验设计有哪些关键点?-你是如何确保实验的准确性和可靠性的?4. 技术细节:-你在实现过程中遇到了哪些技术难题?-你是如何解决这些问题的?-你使用了哪些工具或软件?5. 实验结果和分析:-你的实验结果是什么?-你是如何分析这些结果的?-结果是否支持你的研究假设或目标?6. 讨论和结论:-你在研究中得出了哪些结论?-你是如何将这些结论与现有的研究进行对比的?-你的研究有哪些局限性?7. 未来工作和建议:-你认为未来的研究应该如何继续?-你有什么建议或展望?8. 综合能力:-你是如何管理你的研究时间的?-你在研究过程中学到了哪些重要的技能或经验?-你是如何处理团队合作中的冲突和挑战的?9. 问题解决能力:-你在研究过程中遇到了哪些问题?-你是如何识别和解决这些问题的?-你认为一个好的研究者应该具备哪些品质?准备答辩时,学生应该对自己的论文内容有深入的了解,并准备好回答可能提出的问题。
此外,学生还应该练习良好的公众演讲技巧,以便在答辩时能够清晰、自信地表达自己的观点。
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、我们正常写完一个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里接收数据时,先加上如下一行代码:request、setCharacterEncoding("gb2312");这就是其中得一种作法,当页面较少时还好,如果页面较多,我每添加新得页面就要加上这句话,所以可以采用过滤器来解决,具体解决步骤如下:首先写一个过滤器类,代码如下:package demo;import java、io、IOException;import javax、servlet、Filter;import javax、servlet、FilterChain;import javax、servlet、FilterConfig;import javax、servlet、ServletException;import javax、servlet、ServletRequest;import javax、servlet、ServletResponse;public class SetCharacterEncodingFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain)throws IOException, ServletException {request、setCharacterEncoding("gbk");// 传递控制到下一个过滤器chain、doFilter(request, response);}public void init(FilterConfig filterConfig) throwsServletException {}}然后在web、xml文件中添加如下代码:<filter><!--为过滤器起个名字--><filter-name>Set Character Encoding</filter-name><!--过滤器类得包名、类名--><filter-class>demo、SetCharacterEncodingFilter</filter-class> </filter><filter-mapping><filter-name>Set Character Encoding</filter-name><!--匹配所有得请求--><url-pattern>/*</url-pattern></filter-mapping>这样所有得请求都将交由这个过滤器处理下,这样无论我们添加多少个页面都可以放心了,不用总考虑要加那么一句代码了、③、在存取数据库时发生乱码现象,这种现象比较郁闷,处理起来相对复杂一点、首先要在数据存入数据库时,进行如下编码得转换:如我们要把含有中文得字符串存入数据库,首先:String s=request、getParameter("author");String author=new String(s、getBytes("ISO8859_1"),"gb2312"); 在从数据库取出展示到页面时,也要经过如下转换:String s=rs、getString("author");String author=new String(s、getBytes("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>采用ruquest、getP*()来去值怎么导入现有得数据库,它得备份为**、bak还原数据库或者附加数据6、在中文编程中,您使用得服务器就是TOMCAT,如果出现乱码,您就是怎么解决得?方法一:更改页面字符集方法二:在tomcat得server、xml中更改字符集JAVA连接sqlserver需要哪些jar包?mssqlserver、jar7、如果我要实现上传图片,然后再另一个页面显示,我应该怎么做?应该把上传得图片输出到服务器下面得某一个文件夹,这样可以保证本机图片删除以后任何页面都可以访问并且显示、安装sqlserver时,经常会出现安装问题,例如会出现说“某某文件被挂起,安装运行程序之前请重新启动计算机”,您就是否也遇见过这样得问题?遇到过,只要把暴风影音或者网络电视卸载就可以解决、8、如果我要从配置文件中读取中文汉字,显示到JSP页面上?如果出现乱码我应该怎么处理?str、getBytes("iso8859_1"), "gb2312");怎么去更改sqlserver得字符集?可以用下面语句改变数据库得字符集。
计算机类答辩的五个问题及答案1、B、S结构程序与C、S结构程序各有哪些特点C、S模式的特点●由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快。
●操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求。
●C、S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。
●需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。
●兼容性差,对于不同的开发工具,具有较大的局限性。
若采用不同工具,需要重新改写程序。
●开发成本较高,需要具有一定专业水准的技术人员才能完成。
B、S模式的特点●具有分布性特点,可以随时随地进行查询、浏览等业务处理。
●业务扩展简单方便,通过增加网页即可增加服务器功能。
●维护简单方便,只需要改变网页,即可实现所有用户的同步更新。
●开发简单,共享性强。
●个性化特点明显降低,无法实现具有个性化的功能要求。
●操作是以鼠标为最基本的操作方式,无法满足快速操作的要求。
●页面动态刷新,响应速度明显降低。
●无法实现分页显示,给数据库访问造成较大的压力。
●功能弱化,难以实现传统模式下的特殊功能要求。
2、说明软件设计与开发过程分为哪几个阶段。
每个阶段你都做了哪些工作,得到什么设计结果。
需求分析:分析用户的实际需求,了解应用背景,明确各功能点;概要设计:基于需求分析,设计整体解决方案;详细设计:基于概要设计,完成每个模块的设计;编码:基于详细设计,对每个功能模块进行编码实现;测试:在本系统中主要是过行了单元测试;3、需求分析阶段的主要任务是什么为了完成这些任务,你都做了哪些工作(1)确定对系统的综合要求,分析系统的业务需求、用户需求和功能需求,导出系统的逻辑模型,修正系统的开发计划。
(2)与用户细致沟通,了解用户之前的系统功能、运行模式等,理解用户的真识想法,以原型模式演示需求了解的状况,基于对用户的理解,编写了功能分析、性能分析、环境约束等方面文档;4、什么是数据流图什么是数据字典它们的作用是什么数据流图:简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
第1篇第一部分:基础知识1. JSP是什么?- 答案:JSP(Java Server Pages)是一种动态网页技术,它允许开发者在HTML页面中嵌入Java代码。
当请求到达服务器时,JSP页面会被转换成Servlet 进行执行,并生成HTML页面返回给客户端。
- 解析:了解JSP的基本概念是面试的基础。
2. JSP的工作原理是什么?- 答案:当JSP页面被请求时,服务器首先将JSP文件编译成对应的Servlet 类,然后执行这个Servlet类,生成HTML页面响应给客户端。
- 解析:理解JSP的工作流程对于深入掌握JSP技术至关重要。
3. JSP页面由哪些部分组成?- 答案:JSP页面由HTML标签、JSP标签(如<%@ %>、<%! %>、<%%>)、Java 代码和表达式组成。
- 解析:掌握JSP页面的组成部分有助于更好地编写和调试JSP代码。
4. 什么是JSP的内置对象?- 答案:JSP提供了九个内置对象,包括request、response、session、application、out、pageContext、config、exception和page。
- 解析:了解内置对象及其用途对于编写高效的JSP代码非常重要。
5. 什么是EL表达式?- 答案:EL(Expression Language)是一种简化的表达式语言,它允许在JSP 页面中直接访问Java对象和集合。
- 解析:掌握EL表达式可以简化JSP页面的开发。
6. 什么是JSP的标签库?- 答案:JSP标签库是一组预定义的标签,它们可以扩展JSP页面的功能。
- 解析:了解JSP标签库可以帮助开发者快速实现复杂的功能。
第二部分:Servlet1. 什么是Servlet?- 答案:Servlet是Java服务器端的一个组件,用于处理客户端请求并生成响应。
- 解析:Servlet是JSP技术的基础,了解Servlet对于理解JSP至关重要。
Jsp方面1、jsp有哪些内置对象?作用分别是什么?答:JSP共有以下9种基本内置组件(可与ASP的6种内部组件相对应):request 用户端请求,此请求会包含来自GET/POST请求的参数response 网页传回用户端的回应pageContext 网页的属性是在这里管理session 与请求有关的会话期application servlet 正在执行的内容out 用来传送回应的输出config servlet的构架部件page JSP网页本身exception 针对错误网页,未捕捉的例外2、jsp有哪些动作?作用分别是什么?答:JSP共有以下6种基本动作jsp:include:在页面被请求的时候引入一个文件。
jsp:useBean:寻找或者实例化一个JavaBean。
jsp:setProperty:设置JavaBean的属性。
jsp:getProperty:输出某个JavaBean的属性。
jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记3、JSP中动态INCLUDE与静态INCLUDE的区别?答:动态INCLUDE用jsp:include动作实现<jsp:include page=included.jsp flush=true />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面<%@ include file=included.htm %>4、两种跳转方式分别是什么?有什么区别?答:有两种,分别为:<jsp:include page=included.jsp flush=true><jsp:forward page= nextpage.jsp/>前者页面不会转向include所指的页面,只是显示该页的结果,主页面还是原来的页面。
1 。
GET或POST?过长的请求参数或大量资料,不适合用GET请求,应该改用POST敏感性或有安全性考虑的请求参数,不应该使用GET请求来发送希望可以设定书签,以便日后直接点选书签浏览,应该使用GET有些浏览器会依网址列快取(Cache)资料GET请求应该用于等幂操作,也就是GET请求纯綷取得资源,而不改变服务器上的数据或状态POST请求应该用于非等幂(non-idempotent)操作,请求所发送的数据,可能会影响服务器上的数据或状态2 。
静态网页?动态网页?以CGI作为范例…服务器上实际会有个C或Perl所撰写的程序当伺服器收到请求时,会发起一个行程(Process)来执行这个程序程序运算出结果传达给服务器伺服器再将结果传回给浏览器实际上请求动态网页时所使用的URL,也许并非真的有个实际的网页档案在服务器上有可能只是个逻辑上的URL名称,透过服务器上的设定而对应于实体上的程序名称3 。
简介Servlet/JSPServlet是一个Java类别透过Web容器(Container)的加载、初始化,受到容器的管理才得以成为一个Servlet容器是Java所撰写的一个应用程序负责与伺服器沟通,管理Servlet所需的各种对象与资源、Servlet生命周期没有了容器,Servlet就只是一个Java程序语言所撰写的类别JSP可以直接撰写HTML,并可加入动态程序容器会将JSP网页转译为Servlet并加载容器中进行管理,所有的JSP最后都是以Servlet的实例存在于容器之中4 。
MVCModel中文称之为「模型」,就是封装了应用程序功能或状态的对象。
View中文称之为「画面」或「视图」,也就是负责使用者所观看及操作的接口。
Controller中文称之为「控制器」,职责在于收集用户请求的相关信息,并转发给对应的模型对象。
5 。
Model 2HTTP是无状态的通讯协议,是基于请求/回应的通讯协议在模型状态改变时,你无法从HTTP服务器对浏览器发出通知,以要求浏览器查询模型并更新画面浏览器必须主动发出请求,而不是由模型对浏览器进行通知修正之后称之为Model 2架构6 。
一、简答题1.在JSP中专门提供了3个页面指令来与JavaBean交互,它们分别是哪3个指令,并简述它们的功能。
答:它们分别是jsp:useBean指令、jsp:setProperty指令和jsp:getProperty指令。
jsp:useBean指令指定JSP页面中包括的JavaBean。
jsp:setProperty指令功能是设置JavaBean的属性。
jsp:getProperty指令功能是得到某个JavaBean的属性值。
2.加载CSS样式的方式有哪些?如何使用?答:使用CSS来格式化网页,共有三种方式:在HEAD中引用、在BODY中引用和作为文件来引用。
只要在HEAD标记中加上STYLE标记就可以了,然后在其中定义各种标记的显示样式。
在BODY中实现主要是在标记中引用,只要将定义在STYLE标记中的值拿到对应的标记中就可以了。
可以将HEAD中定义的样式另存成一个文件。
CSS作为一个外部文件引入的方式有两种,一种是做链接,另一种是导入。
首先将STYLE标记中的内容存成一个文件。
3.请说出JSP和Servlet的关系,说出它们的异同,并分析它们在web服务程序中分工。
答:a.Servlet是JSP的早期版本,JSP是以另外一种方式实现的Servletb.JSP更注重页面的表现,Servlet更注重业务逻辑的实现c.JSP只能处理浏览器的请求,而Servlet可以处理一般客户端的应用程序请求4.对于下面URL: :8080/news/index.html ,请指出协议,主机,端口号,文件名答:协议 http,主机,端口号8080,文件名news/index.html5.ASP与JSP之间有哪些共同点?JSP的优点是什么?答:ASP和JSP都是HTML文档传递动态内容的CGI程序。
因为它们都运行在服务器上,都访问服务器上的资源。
另一个相似点是语法。
它们用来嵌入VBScript 与 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 里接收数据时 , 先加上如下一行代码 :request.setCharacterEncoding("gb2312");ServletResponse这是其中的一种作法 ,当页面较少时还好 ,如果页面较多 ,我每添加新的页面就要 加上这句话 ,所以可以采用过滤器来解决 ,具体解决步骤如下首先写一个过滤器类 ,代码如下 :package demo;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;public class SetCharacterEncodingFilter implements Filter {public void destroy() {}public void doFilter(ServletRequest request,response, FilterChain chain)throws IOException, ServletException{ request.setCharacterEncoding("gbk");// 传递控制到下一个过滤器chain.doFilter(request, response);public void init(FilterConfig filterConfig) throws ServletException { }}然后在 web.xml 文件中添加如下代码 :<filter><!-- 为过滤器起个名字 --><filter-name>Set Character Encoding</filter-name><!-- 过滤器类的包名 .类名 --><filter-class>demo.SetCharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>Set Character Encoding</filter-name><!-- 匹配所有的请求 --><url-pattern>/*</url-pattern></filter-mapping> 这样所有的请求都将交由这个过滤器处理下 ,这样无论我们添加多少个页面都可以放心了 ,不用总考虑要加那么一句代码了 .③.在存取数据库时发生乱码现象 ,这种现象比较郁闷 ,处理起来相对复杂一点 .首先要在数据存入数据库时 ,进行如下编码的转换 :如我们要把含有中文的字符串存入数据库 ,首先 :String s=request.getParameter("author");String author=new String(s.getBytes("ISO8859_1"),"gb2312");在从数据库取出展示到页面时 ,也要经过如下转换 :String s=rs.getString("author");String author=new String(s.getBytes("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> 采用 ruquest.getP*() 来去值怎么导入现有的数据库,它的备份为 **.bak 还原数据库或者附加数据6. 在中文编程中,你使用的服务器是 TOMCAT ,如果出现乱码,你是怎么解决的?方法一 :更改页面字符集方法二 :在 tomcat 的 server.xml 中更改字符集JAVA 连接 sqlserver 需要哪些 jar 包?mssqlserver.jar7•如果我要实现上传图片,然后再另一个页面显示,我应该怎么做?应该把上传的图片输出到服务器下面的某一个文件夹,这样可以保证本机图片删除以后任何页面都可以访问并且显示.安装sqlserver时,经常会出现安装问题,例如会出现说“某某文件被挂起,安装运行程序之前请重新启动计算机”,你是否也遇见过这样的问题?遇到过,只要把暴风影音或者网络电视卸载就可以解决.8•如果我要从配置文件中读取中文汉字,显示到JSP页面上?如果出现乱码我应该怎么处理?怎么去更改sqlserver的字符集?可以用下面语句改变数据库的字符集。
问题1、数据库连接失败解决:要连接数据库,需要相应数据库与JDBC的connecter,把sqljdbc.jar这个jar文件放到WEB-INF里面的lib目录中,问题就解决了。
问题2、经常出现null pointer exception解决:当对截获的参数字符串进行类型转换时,比如将字符串转换为整数,由于有时参数值为空,则导致这个问题。
因此在进行类型转换之间先检查一下字符串是否为空,则可以避免这个问题。
问题3、当写好一个servlet后,在页面中访问时却显示not available解决:servlet必须在网站配置文件中有对应的map,对每一个servelet,都要在web.xml中写好相应的map信息,即servlet名与servlet类的对应关系,这样才能够访问servlet问题4、在启动tomcat时出错。
解决:经过排查,发现是由于端口冲突,tomcat默认端口是8080,而可能存在其他的容器比如glassfish已经占用了8080这个端口,这时再开启tomcat就会失败。
可以通过server.xml 文件修改tomcat的默认端口设置,比如改为8088,这样就可以了问题5、更改程序后,发现效果老是不变解决:IE一般会缓存jsp文件,所以在开发期间,为了便于测试,要防止ie缓存jsp文件。
这可以通过HTML标记进行设置,如下:<HEAD><META HTTP-EQUIV="Pragma" CONTENT="no-cache"><META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"><META HTTP-EQUIV="Expires" CONTENT="0"></HEAD>。
计算机答辩面试题目及答案一. 操作系统:1. 什么是进程和线程?进程是操作系统中执行的一个程序实例,它包括了程序的代码、数据以及执行时的状态。
线程是进程中的一个单一单位,它是进程中的执行流,用于完成各种操作。
2. 进程间通信有哪些方式?进程间通信的方式包括管道、命名管道、消息队列、共享内存、套接字等。
3. 请简要说明操作系统的内存管理。
内存管理是操作系统的重要功能,它负责管理和分配计算机的内存资源,包括内存的分配、回收和保护等。
常见的内存管理技术有连续内存分配、非连续内存分配、虚拟内存等。
4. 解释死锁的概念以及如何预防死锁?死锁是指在并发系统中,若干进程互相等待对方占有的资源而无法继续执行的状态。
预防死锁可以采取多种策略,如资源预分配、避免加剧死锁、破坏循环等。
二. 数据结构与算法:1. 请解释什么是栈和队列?栈(Stack)是一种后进先出(LIFO)的数据结构,只允许在顶部进行插入和删除操作。
队列(Queue)是一种先进先出(FIFO)的数据结构,允许在队列尾部插入元素,在队列头部删除元素。
2. 简要说明常见的排序算法及其时间复杂度。
常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序等。
冒泡排序的时间复杂度为O(n^2),插入排序的时间复杂度为O(n^2),选择排序的时间复杂度为O(n^2),快速排序的时间复杂度为O(nlogn),归并排序的时间复杂度为O(nlogn)。
3. 请解释什么是哈希表(散列表)?哈希表是一种基于哈希函数进行快速查找的数据结构。
它通过将关键字映射到哈希表的索引上,实现快速访问。
4. 请简述图的深度优先搜索和广度优先搜索算法。
深度优先搜索(DFS)是一种用于遍历或搜索树或图的算法,它沿着树的深度遍历树的节点,直到找到目标节点或遍历完整个树。
广度优先搜索(BFS)是一种用于遍历或搜索树或图的算法,它先访问树的根节点,然后访问根节点的所有子节点,再依次访问每个子节点的所有子节点。
1、简述JSP页面的运行原理(JSP页面的请求执行过程)。
(1)当客户第一次请求JSP页面时,JSP引擎会通过预处理把JSP文件中的静态数据(HTML文本)和动态数据(Java脚本)全部转换为Java代码。
(2)JSP引擎把生成的.java文件编译成Servlet类文件(.class)。
(3)编译后的class对象被加载到容器中,并根据用户的请求生成HTML格式的响应页面。
2、如果表单提交的信息中有汉字,接受该信息的页面应做怎样的处理?解决中文乱码在获取表单信息之前使用setCharacterEncoding(String code)设置统一字符编码request.setCharacterEncoding(“UTF-8”);对获取的信息进行重新编码new String(request.getParameter(“Name”).getBytes(“ISO-8859-1”),”UTF-8”);3、请简单叙述<%@include%>、<jsp:include>两者的区别。
<%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet。
<jsp:include>:所有代码分别处理,在页面被请求的时候才编译,被编译成多个servlet,页面语法相对独立,处理完成之后再将代码的处理结果组合起来。
PPT上答案为:Include指令标记是先将JSP页面与所要嵌入的页面合并成一个新的JSP页面,然后再由JSP引擎将新页面转化为java文件处理并运行。
Include动作标记在把JSP页面转译成java文件时,并不合并两个页面;而是在java文件的字节码文件被家在执行时,才去处理include动作标记引入的文件。
4、分析下面连接数据库的程序代码,将正确的表达式或语句填入空白import java.sql.*;public class DbUtil{public static void main(String args[]){Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=db";Connectioncon = DriverManager.getConnection(uri,"sa","123");Statementst= con.createStatement();ResultSetrs = st.executeQuery("select * from member");}}请将上面的空填好,填完整这个程序后,这个程序有问题吗?应该怎样改正?5、假设创建servlet的类是tom.jiafei.Dalian,创建的servlet对象的名字是myservlet,应该怎样配置web.xml?<servlet><servlet-name>myservlet</servlet-name><servlet-class>tom.jiafei.Dalian</servlet-class></servlet><servlet-mapping><servlet-name>myservlet</servlet-name><url-pattern>/lookhello</url-pattern></servlet-mapping>6、JSP有哪些内置对象,作用分别是什么?(至少列举4种)out 页面输出request 得到用户的请求信息response 服务器向客户端的回应信息session 用来保存每一个用户的信息application 用来表示所有用户的共享信息pageContext JSP的页面容器config 服务器配置,可以取得初始化参数page 表示从该页面中表示出来的一个servlet实例exception 表示JSP页面所发生的异常,在错误页面才起作用7、简述JSP中MVC模式的具体实现。
毕业答辩的时候老师问的问题都很基础,但是就怕咱们答的不专业,太业余,简单的总结了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技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP2.0介绍
新的JSP规范版本包括新的用于提升程序员工作效率功能,主要有:
An Expression Language(EL)
允许开发者创建Velocity-样式templates(among other things).更快更简单的创建新标签的方法。
Hello,${param.visitor}<%--same as:Hello,<%=request.getParameter("visitor")%>--%>
MVC模式
为了把表现层presentation从请求处理request processing和数据存储data storage中分离开来,SUN公司推荐在JSP文件中使用一种模-视图-控件Model-view-controller模式。
规范的SERVLET或者分离的JSP文件用于处理请求。
当请求处理完后,控制权交给一个只作为创建输出作用的JSP页。
有几种平台都基于服务于网络层的模-视图-控件模式(比如Struts和Spring framework)。
JSP技术的强势
(1)一次编写,到处运行。
在这一点上Java比PHP更出色,除了系统之外,代码不用做任何更改。
(2)系统的多平台支持。
基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展。
相比ASP/PHP的局限性是显而易见的。
(3)强大的可伸缩性。
从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,J ava显示了一个巨大的生命力。
(4)多样化和功能强大的开发工具支持。
这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。
JSP技术的弱势
(1)与ASP一样,Java的一些优势正是它致命的问题所在。
正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。
(2)Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。
从另一方面,它还需要硬盘空间来储存一系列的.java 文件和.class文件,以及对应的版本文件。
JSP的技术方法
为了快速方便地进行动态网站的开发,JSP在以下几个方面做了改进,使其成为快速建立跨平台的动态网站的首选方案。
1.将内容的生成和显示进行分离
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求变化的,例如请求账户信息或者特定的一瓶酒的价格等)。
生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有的脚本在服务器端运行。
由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和脚本,生成所请求的内容(例如,通过访问JavaBean s组件,使用JDBC技术访问数据库或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这既有助于作者保护自己的代码,又能保证任何基于HTML的Web浏览器的完全可用性。
2.可重用组件
绝大多数JSP页面依赖于可重用的、跨平台的组件(JavaBeans或者Enterprise JavaBeans 组件)来执行应用程序所要求的复杂的处理。
开发人员能够共享和交换执行普通操作的组件,或者
使得这些组件为更多的使用者和客户团体所使用。
基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。
3.采用标识
Web页面开发人员不会都是熟悉脚本语言的编程人员。
JSP技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。
标准的JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。
4.适应平台
几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。
从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准的与平台无关的。
5.数据库连接
Java中连接数据库的技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。
Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有O DBC驱动程序的数据库,目前大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。
此外,通过开发标识库,JSP技术可以进一步扩展。
第三方开发人员和其他人员可以为常用功能创建自己的标识库。
这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来进行工作。
JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且能扩展到支持企业级的分布式应用中。
作为采用Java技术家族的一部分,以及Java2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。
由于JSP页面的内置脚本语言是基于Java的,而且所有的JSP页面都被编译成为Java Servlets,所以JSP页面具有Java技术的所有好处,包括健壮的存储管理和安全性。
作为Java平台的一部分,JSP拥有Java编程语言“一次编写,各处运行”的特点。
JSP的应用模型
利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP 的应用服务器上的JSP引擎执行。
JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。
JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。
页面开发人员能够访问全部的Java应用环境,以利用Java技术的扩展性和可移植性。
当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。
这就使得在接下来的对该页面的调用中,服务器会有非常快的响应(这避免了CGI-BIN为每个HTTP请求生成一个新的进程的问题)。
JSP页面可以包含在多种不同的应用体系结构或者模型中,可以用于由不同协议、组件和格式所组成的联合体中。
基于JSP的动态信息发布技术是一个开放的、可扩展的建立动态Web 页面的标准。
不论采用什么创建工具,开发人员都可以使用JSP页面来创建可移植的Web应用,在不同的Web应用服务器上运行。