javaWEB项目答辩_第1页
javaWEB项目答辩_第2页
javaWEB项目答辩_第3页
javaWEB项目答辩_第4页
javaWEB项目答辩_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JSP项目答辩问题1. 什么是 B/S、C/S?答案:C/S结构:Client/Server (客户端/服务器),桌面安装应用程序( QQ、斗地主、MSN )。B/S结构:Browser/Server (浏览器/服务器),Web应用程序(WebQQ、OA、网页游戏)。2. HTTP常见状态码?答案:200成功401客户端没有访问权限404路径错误500服务器产生内部错误3. 传值方式get/post?答案:客户端向服务器传递数据有两种方式(通过 form表单实现):get和postGet:有长度限制(数据量小),浏览器地址栏可以看见传递的参数。默认使用get方式传值。Post :无长度限制(数

2、据量大),地址栏不可见(相对安全)。4. Servlet的生命周期?答案:1.实例化(执行构造方法)-> 2.初始化(执行init()方法)-> 3.服务(根据get或post请求执行相应的doGet()或 doPost()方法)-> 4.销毁(执行 destroy。方法)5. 页面跳转的两种方式?答案:内部跳转和外部跳转。内部跳转使用: request. getRequestDispatcher ( 跳转的路径 ”.forward(request,response);外部跳转使用:response.sendRedirect("跳转的路径");注意:两者之

3、间的区别,内部跳转请求在服务器内部完成,相当于一次请求;而外部跳转客户端会发送两次请求;6. 内部跳转和外部跳转区别?答案:内部跳转与外部跳转区别:1. 内部跳转:浏览器的地址栏不会发生改变。request中的参数值,会被保留到新的页面。request中的参数值,不会被保留2. 外部跳转:浏览器地址发生改变(相当于二次请求)。第一次7. Post提交如何处理中文?答案:request.setCharacterE ncod in g("gbk");resp on se.setCharacterE ncodi ng("gbk");注意:这种中文处理方式只能用

4、来处理post提交必须写在方法的第一行。8. Get提交如何处理中文?答案:String conver_sex = new String(sex.getBytes("iso-8859-1"),"gbk");注意:这种方式只能用来处理get提交9. JSP页面元素的构成?答案:静态内容就是jsp页面中的 html标签,css, javascript代码指令<%指令名 属性=“值”%>其中最常用的page指令:page指令主要是用于控制整个jsp页面的信息声明<%!可以定义变量,定义方法>声明:就是将当前的 jsp页面,看成一个 Ja

5、va类。例如:<%!private int a = 10;%>等同于如下代码:publicclass Test privateint a = 10;表达式<%=输岀的变量名 %> /注意:没有分号结束哦代码块(scriptlet)<%/写Java代码%>注释Html的注释:<!-注释内容->JSP的注释:<%-注释内容-%>动作vjsp:动作名10. JSP页面常用的内置对象?答案:request表示客户端的请求response服务器端的响应sessi on存储当前会话的信息(每一个用户一个就是Session对象)applicati

6、on存储所有人的会话信息(类似于:QQ群聊天)11. Session对象的作用已经常用方法?答案:Session作用:用于存放、记录每一个客户端的相关信息。session.setAttribute(”name","sisi"); 将变量存放在 session 中session.getAttribute(”name");/ 获取 session 中的值session.invalidate();/session 立即被销毁12. 什么是MVC三层结构?答案:M表示模型数据访问层。C表示控制业务控制层。V表示显示 展示层。13 .项目中如何判断用户是否已经登录

7、?答案:登录的时候,将用户的信息存放在session中;然后从 Session中获取用户的信息(Session.getAttribute(名字”);如果返回null表示还没有登录。14 .请简单介绍一下购物车如何实现?答案:每个用户对应一个唯一的session对象,将用户的购物信息通过session保存、读取。Session中存放的是一个集合( ArrayList ),集合中存放用户购买的商品对象( GoodsInfo )。15 . jsp中的作用域有几种?分别是什么?其作用范围有多大?答: 有四种,分别是:page, request, session, application。作用范围:pa

8、ge:在当前页面中有效,request能保存一次服务器端跳转内的值, sessi on: 次会话之内有效(可以理解为打开浏览器开始到关闭浏览器之后), 即plicati on:在整个服务器启动范围之内有效(即:启动服务器开始至关闭服务器)。16 . jsp运行原理?1)客户端通过jsp页面向服务器断发送一次请求,2)服务器接受请求后交给jsp解释引擎处理,3)jsp解释引擎在将处理结果返回给服务器,4) 最后服务器在将客户端的请求结果以html的方式返回给客户端17 .每一个jsp文件最终都会被转译成什么文件?答:编译成servlet文件;18 .为什么jsp文件第一次运行时候比较慢?答:第一

9、次运行jsp文件的时候,首先要将jsp文件编译成servlet文件,然后在加载 执行,第二次运行jsp文件的时候:1)首先判断jsp文件是否修改,如果没有修改,则直接 调用之前生成的servlet文件,如果有修改则先要在编译生成新的servlet文件之后在执行。19 .如何访问servlet ?答:访问 servlet , 首先要找到 web.xml配置文件中的 vurl-patter n> /servlet/test</url-patter n> 中的路径地址。20 . 解释servlet中web.xml配置文件<?xml versio n="1.0&quo

10、t; en codi ng ="UTF-8"?><web-app versi on ="2.4"xml ns =xml ns:xsi=xsi:schemaLocati on=><servlet ><!在web.xml文件内部起作用的名字-><servlet-name>simple </ servlet-name><! 包 .类名->< servlet-class ></ servlet-class ></ servlet ><servl

11、et-mapp ing ><!此名称必须与上面配置的名称一致-><servlet-name>simple </ servlet-name> <!访可此servlet 的路径。必须以/开头->vwelcome-file-list>vwelcome-file>index.jsp</ welcome-file></ welcome-file-list><url-patter n>/aa/bb </ url-pattern></ servlet-mapping ></ w

12、eb-app >21 . servlet的生命周期答:创建 初始化一服务一销毁22 .解释servlet中各个方法在什么时候执行?public class SimpleServletexte ndsHttpServletpublic void in it(ServletC onfig con fig)throwsServletExcepti on/初始化方法public void doGet(HttpServletRequest request,HttpServletResp onseresp on se)throws ServletExcepti on ,IOExcepti on/接收

13、客户端的get请求public void doPost(HttpServletRequestrequest,HttpServletResp onseresp on se)throws ServletExceptio n,IOExceptio n/接收客户端的post请求public void destroy()/当servlet销毁的时候执行23 .如何通过地址向servlet中传递参数?答:<a href= ” test.jsp?name= ' zhangsan' &pass=' 123456'” >地址重写传递参 数 </a>

14、只要在要访问的路径之后加上一个“?”然后接上要传递的参数名称如上所示name,后面赋值即可,如果要传递多个参数则用“&”隔开。24 .简述什么是MVC设计模式以及优点有哪些?答:jsp+servlet+javaBean,客户端发送请求,由 servlet 接收(Control),并且调用相应的dao(Model)进行处理,在将结果返回给响应的jsp页面(view )。优点:适合团队开发,可维护性很高,分工明确等。千里之行购物网站答辩问题列表一、登入登出部分1、请解释登录界面的业务流程及相应代码;登录页面,当单击登录按钮之后,将表单信息(用户名和密码) 提交到Servlet中,Servl

15、et接收表单信息,调用相应的 Dao进行登录验证,如果验证成功,则将用户名,用户id,保存在session中,然后跳转到后台首页,否则失败。2、如果登录失败,如何处理,如何给出提示信息?如果登录失败,保存失败信息在request范围之内,然后使用服务器端跳转,跳转到登陆页,在登录页将request范围之内的信息取岀打印在页面中,给用户提示。3、你的后台页面是否可以绕过登录,而通过 URL直接访问?如果是,请解决此问题;如果否,请解释你是如何做到的。不可以,在后台登陆首页,在页面的最上方判断session中是否存在用户名的属性,如果不存在则跳转到登录页,否则说明登录成功。4、页面上的登录的用户名

16、和时间是如何显示的?(和第一题有重叠)从session中取岀用户名打印岀来即可显示,时间通过javaScrip可以得到当前系统时间。5、如何发布公告的?解释业务流程?a) 在发布公告页面,输入完整的信息之后,单击提交按钮之后,将表单信息提交到Servlet中,Servlet接收表单信息,并且将 Session中的当前用户ID取得,在取得当前系统时间,在调用相关 的dao类,进行处理,如果添加成功,跳转到成功页,否则到失败页面。6、你的“退出系统”功能是如何完成的?销毁session中所有的信息,使用 in validate ()方法。然后跳转到登陆页面。二、系统用户管理部分:1、请解释用户密码

17、修改的业务流程及相应代码;2、请解释用户名修改的业务流程及相应代码;三、公告管理部分1、请解释公告管理中的增,删、改、查中的某个业务流程及相应代码;2、在新增公告时,公告发布者的信息应如何获取和操作,说明你的方法;添加公告时,可以将之前保存在Session中的用户id取得,然后插入到公告信息表中的相应字段。3、解释分页的思想以及相关代码前台部分:1、解释购物车功能如何实现以及解释相关代码。项目代码的解释一定要清楚,例如:找到客户注册的代码,并且解释每行的含义等。15删除一条记录用什么方法?怎样实现用户登录的验证是怎样的。利用传递主键的方法,也就是delete from 表名where主键=”传

18、递过来的主键的值” 利用select * from用户信息表 where用户名=”nd密码=”;'如果有数据则登陆成功 技术问题:1我们正常写完一个JAVA文件都需要自动编译一下,这是为什么?因为我们运行程序的时候用到的不是java程序而是class程序.tomcat读的是java文件还是什么?是 class文件不是java程序java链接sqlserver的代码是什么?try conn = DriverManagerstmt = conn.createStatement(1004, 1007);rs = stmt.executeQuery(sql); catch (SQLExcept

19、ion ex) return rs;2.链接sqlserver的一般端口是什么?1433还有其他的端口么? tomcat的8080端口3在java项目开发当作,你一般是怎么调试程序的?sqlserver数据库的还原以及备份?利用debug调试程序.4如果我要给页面加过滤器控制乱码,我应该怎么做?近来在调试Jsp文件问题时,中文乱码现象经常遇到,现将处理方法总结一下 ,供大家参考:1. Jsp 文件页面显示乱码,这种情况比较好处理,在页面的Page 指令加上如下一项就 0K 了:<% page conten tType="text/html;charset=gb2312"

20、;%>2. Jsp页面采用表单提交时,提交的数据中含有中文,这时我们获取表单数据后,展示到其它页面时也会岀现乱码,解决方案是在提交处理的Servlet里接收数据时,先加上如下一行代码:request.setCharacterE ncodi ng("gb2312");这是其中的一种作法,当页面较少时还好,如果页面较多,我每添加新的页面就要加上这句话,所以可以采用过滤器来解决,具体解决步骤如下:首先写一个过滤器类,代码如下:package demo;public class SetCharacterE ncod in gFilterimpleme ntsFilter pu

21、blic voidpublic voidFilterChaindestroy() doFilter(ServletRequestchai n)throwsIOExceptio n,request.setCharacterE ncod in g("gbk");/传递控制到下一个过滤器request, ServletResp onseServletExcepti onresp onse.cha in. doFilter(request,public voidini t(FilterC onfigresp on se);filterCo nfig)throwsServletExc

22、epti on然后在web.xml文件中添加如下代码:vfilter><!-为过滤器起个名字->vfilter- name>SetCharacterEn codi ngv/filter- name<!-过滤器类的包名.类名->vfilter-class>demo.SetCharacterE ncodi ngFilter</filter-class></filter>vfilter-mapp ing>vfilter- name>SetCharacterEn codi ngv/filter -n ame><!

23、-匹配所有的请求->vurl-patter n>/*</url-patter n>v/filter-mappi ng>这样所有的请求都将交由这个过滤器处理下,这样无论我们添加多少个页面都可以放心了,不用总考虑要加那么一句代码了 .3. 在存取数据库时发生乱码现象,这种现象比较郁闷,处理起来相对复杂一点.首先要在数据存入数据库时,进行如下编码的转换:如我们要把含有中文的字符串存入数据库,首先:String s=request.getParameter("author");String author= new String(s.getBytes(&

24、quot;ISO8859_1"),"gb2312");在从数据库取出展示到页面时,也要经过如下转换:String s=rs.getStri ng("author");String author=new String(s.getBytes("GB2312"),"ISO8859_1");以上是我总结的对三种Jsp文件中文乱码的处理方法,希望对大家有所帮助.5在数据库定义字段的时候,可以选择char还有varchar,你一般选择什么,为什么?选择varchar,因为varchar是可变长的字符型,而char是定

25、长的5为什么要用struts自身带的text框,它与HTML的有什么区别?在jsp中<html:text>经java解释后就变成了 vinput type="text"> 两者是等价的在jsp页面中之所以要用<html:text>是因为 struts结构中许要在 actionform中直接根据 <html:text>中的属性 poperty与actionform 中的字段一一对应取值不许要普通<input>采用ruquest.getP*()来去值怎么导入现有的数据库,它的备份为*.bak还原数据库或者附加数据6在中文编程

26、中,你使用的服务器是 TOMCAT,如果出现乱码,你是怎么解决的? 方法一:更改页面字符集方法二:在 tomcat的 server.xml中更改字符集JAVA连接sqlserver需要哪些jar包?mssqlserver.jar7如果我要实现上传图片,然后再另一个页面显示,我应该怎么做?应该把上传的图片输出到服务器下面的某一个文件夹,这样可以保证本机图片删除以后任何页面都可以访问并且显示.安装sqlserver时,经常会出现安装问题,例如会出现说某某文件被挂起,安装运行程序之前请重新启动计算机”,你是否也遇见过这样的问题? 遇到过,只要把暴风影音或者网络电视卸载就可以解决.&如果我要从

27、配置文件中读取中文汉字,显示到JSP页面上?如果出现乱码我应该怎么处理?str.getBytes("iso8859 1"),"gb2312");怎么去更改sqlserver的字符集?可以用下面语句改变数据库的字符集。ALTER DATABASE yourdb COLLATE 新字符集改变sql server的默认字符集,要重建 master9在获取一个从数据库查询回来的数组,你一般是怎么知道它里面存储了多少数据? 利用数组.size(方法就可以知道其数目是多少.你在开发中用过JAVASCRIPT么,你为什么要用这个,它与 JAVA有什么关系? 用到了,J

28、AVASCRIPT可以减轻服务器的访问频率,从而提高服务器的运行速度达到了 前台校验的效果.它和java没有任何关系,属于一种脚本语言.10.java中如果出现 EXCEPTION 的话,你应该怎么做,你在这次开发中用到了么?java连接mysql需要哪些JAR包?第一种方法是throws DAOException(异常)第二种方法是捕获异常 -try catch()方法11数据库选用 Mysql, SQLSERVER ?为什么?如何倒入数据库?JAVA连接sqlserver需要哪些jar包?选择SQL SERVER,安全性高,性能好.如何倒入数据库?右键数据库-然后附加数据库即可.JAVA连

29、接sqlserver需要哪些jar包?mssqlserver.jar12简单的说一下B/S结构体系的优点?B/S结构:(Browser/Server ,浏览器/服务器模式):是 WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser ),女口 Netscape Navigator 或Internet Explorer,服务器安装 Oracle、Sybase > Informix 或SQL Server等数据库。浏览器通过 Web Serve

30、r 同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户 端零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。一、B/S结构的优点B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能 使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如C

31、A证书)后,不需要人的参与,系统可以自动分配给用户一 个账号进入系统。二、B/S架构软件的优势与劣势(1) 维护和升级方式简单。目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行; 如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越瘦”而服务器

32、越来越胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户 人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是瘦”客户机, 胖”服务as(2) 成本降低,选择更多。大家都知道windows在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用 B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种操作系统都可以让大部分人使用windows 作为桌面操作系统电脑不受影响,这就使的最流行免

33、费的Linux操作系统快速发展起来,Linux除了操作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上 新浪”网,只要安装了浏览器就可以了,并不需要了解新浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用 windows操作系统,但用户的电脑本身安装的大部分是 windows操作系 统。(3) 应用服务器运行数据负荷较重。由于B/S架构管理软件只安装在服务器端(Server )上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server )端完全通过 WWW浏览器实现,极少部分事务逻辑在前端(Browser )实现,所有的客户端只有浏

34、览器,网络管理人员只需要做硬件维护。但是,应用服务器运行 数据负荷较重,一旦发生服务器崩溃”等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万O12.MVC模式分为哪三个组件,工作的核心?转发到相应的jsp6)处理结果返回给浏览器。O注意的地方:1) ActionServlet将控制权转到页面的时候采用的是转发 的方式(requestgetRequestDispatcher(url).forward(request,response),所以转发至U页面的request和 Action方法参 数中的 request是同一个请求,数据可以通过 request对象的 attribute 属性传递。2)当需要重定向的方式转到新的页面的时候,可以再Action代码中使用( response.sendRed

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论