《软件工程答辩常见问题总结.pdf》由会员分享,可在线阅读,更多相关《软件工程答辩常见问题总结.pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1我们正常写完一个 JAVA 文件都需要自动编译一下,这是为什么 因为我们运行程序的时候用到的不是 java 程序而是 class 程序.tomcat 读的是 java 文件还是什么是 class 文件 不是 java 程序 2.链接 sqlserver 的一般端口是什么 1433 还有其他的端口么 tomcat 的 8080 端口 3.在 java 项目开发当作,你一般是怎么调试程序的 sqlserver 数据库的还原以及 备份 利用 debug 调试程序.4.如果我要给页面加过滤器控制乱码,我应该怎么做 近来在调试 Jsp 文件问题时,中文乱码现象经常遇到,现将处理方法总结一下,供大 家参
2、考:.Jsp 文件页面显示乱码,这种情况比较好处理,在页面的 Page 指令加上如下一项 就 OK 了:Jsp 页面采用表单提交时,提交的数据中含有中文,这时我们获取表单数据后,展 示到其它页面时也会出现乱码,解决方案是在提交处理的 Servlet 里接收数据时,先加上如下一行代码:(gb2312);这是其中的一种作法,当页面较少时还好,如果页面较多,我每添加新的页面就要 加上这句话,所以可以采用过滤器来解决,具体解决步骤如下:首先写一个过滤器类,代码如下:package demo;import import import import import import import public
3、class SetCharacterEncodingFilter implements Filter public void destroy()public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain)throws IOException,ServletException (gbk);名-Set Character Encoding /*这样所有的请求都将交由这个过滤器处理下,这样无论我们添加多少个页面都可 以放心了,不用总考虑要加那么一句代码了.在存取数据库时发生乱码现象,这种
4、现象比较郁闷,处理起来相对复杂一点.首先要在数据存入数据库时,进行如下编码的转换:如我们要把含有中文的字符串 存入数据库,首先:String s=(author);String author=new String(ISO8859_1),gb2312);在从数据库取出展示到页面时,也要经过如下转换:Strings=(author);String author=new String(GB2312),ISO8859_1);以上是我总结的对三种 Jsp 文件中文乱码的处理方法,希望对大家有所帮助.5.在数据库定义字段的时候,可以选择 char还有 varchar,你一般选择什么,为 什么 选择 var
5、char 因为 varchar 是可变长的字符型,而 char 是定长的 5.为什么要用 struts 自身带的 text 框,它与 HTML 的有什么区别 在 jsp 中经 java 解释后就变成了 两者是等价的 在 jsp页面中之所以要用是因为 struts 结构中许要在 actionform 中直 接根据中的属性 poperty 与 actionform 中的字段一一对应取值 不许要 普通 vin put采用*()来去值 怎么导入现有的数据库,它的备份为*.bak 还原数据库或者附加数据 6.在中文编程中,你使用的服务器是 TOMCAT如果出现乱码,你是怎么解决的 方法一:更改页面字符集
6、 方法二:在 tomcat 的中更改字符集 JAVA 连接 sqlserver 需要哪些 jar 包 7.如果我要实现上传图片,然后再另一个页面显示,我应该怎么做 应该把上传的图片输出到服务器下面的某一个文件夹,这样可以保证本机图片删 除以后任何页面都可以访问并且显示.安装 sqlserver 时,经常会出现安装问题,例如会出现说 某某文件被挂起,安装运行程序之前请重新启动计算机”,你是否也遇见过这样的问题 遇到过,只要把暴风影音或者网络电视卸载就可以解决.8.如果我要从配置文件中读取中文汉字,显示到 JSP 页面上 如果出现乱码我应该怎么处理(iso8859_1),gb2312);怎么去更改
7、 sqlserver 的字符集 可以用下面语句改变数据库的字符集。ALTER DATABASE yourdb COLLATE 新字符集 改变 sql server 的默认字符集,要重建 master 9.在获取一个从数据库查询回来的数组,你一般是怎么知道它里面存储了多少数 据 利用数组.size(方法就可以知道其数目是多少.你在开发中用过 JAVASCRIPT.,你为什么要用这个,它与 JAVA 有什么关系 用到了,JAVASCRIP 可以减轻服务器的访问频率,从而提高服务器的运行速度.达 到了前台校验的效果 它和 java 没有任何关系,属于一种脚本语言.中如果出现 EXCEPTION 勺话
8、,你应该怎么做,你在这次开发中用到了么 java 连 接 mysql 需要哪些 JAR 包 第一种方法是 throws DAOException 异常)第二种方法是捕获异常-try catch()方法 11.数据库选用 Mysql,SQLSERVER;什么如何倒入数据库 JAVA 连接 sqlserver需 要哪些 jar 包 选择 SQL SERVE 安全性高,性能好.如何倒入数据库 右键数据库-然后附加数据库即可.JAVA 连接 sqlserver 需要哪些 jar 包 12.简单的说一下 B/S 结构体系的优点 B/S 结构:(Browser/Server,浏览器/服务器模式):是 WE
9、B 兴起后的一种网络结 构模式,WEB 浏览器是客户端最主要的应用软件。这种模式统一了客户端,将 系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),女口 Netscape Navigator 或 In ternet Explorer,服务器安装 Oracle Sybase Informix 或 SQL Serve 等数据库。浏览器 通过Web Server 同数据库进行数据交互。B/S 最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要 有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。B/S 结构的使
10、用越来越多,特别是由需求推动了 AJAX 技术的发展,它的程序也 能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交 互性,能进行局部实时刷新。一、B/S 结构的优点 B/S 结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软 件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以 在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统 可以自动分配给用户一个账号进入系统。二、B/S 架构软件的优势与劣势(1)维护和升级方式简单。目前,软件系统的改进和升级越来越
11、频繁,B/S 架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说,系统管理 人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知 的,但 B/S 架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根 本不需要做任何的维护。无论用户的规模有多大,有多少分支机构都不会增加任 何维护升级的工作量,所有的操作只需要针对服务器进行;如果是异地,只需要 把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越 来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省 是显
12、而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务 器。(2)成本降低,选择更多。大家都知道 windows 在桌面电脑上几乎一统天下,浏览器成为了标准配置,但在服务器操作系统上 windows 并不是处于绝对的统 治地位。现在的趋势是凡使用 B/S 架构的应用管理软件,只需安装在 Linux 服务 器上即可,而且安全性高。所以服务器操作系统的选择是很多的,不管选用那种 操作系统都可以让大部分人使用 windows 作为桌面操作系统电脑不受影响,这 就使的最流行免费的 Linux 操作系统快速发展起来,Linux 除了操作系统是免费的 以外,连数据库也是免费的,这种选择非常
13、盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并不需要了解“新 浪”的服务器用的是什么操作系统,而事实上大部分网站确实没有使用 windows 操作系统,但用户的电脑本身安装的大部分是 windows 操作系统。(3)应用服务器运行数据负荷较重。由于 B/S 架构管理软件只安装在服务器 端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻 辑在服务器(Server)端完全通过 WWW 浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问
14、题,后果不堪 设想。因此,许多单位都备有数据库存储服务器,以防万一。模式分为哪三个组件,工作的核心 Struts 应用中包含 3 种组件:控制器组件(C)、模型组件(M)、和视图组件(V)。控制器:ActionServlet(核心控制器)、自定义 Action(代表一个用户操作)。模型组件:定义和实现业务逻辑的接口和类。视图组件:jsp 页面、ActionForm 和 Struts 标签。ActionServet 是 Struts 最核心的组件。在 Web 容器启动的时候,ActionServlet 被 初始化,加载配置文件(这就是为什么当 struts 配置文件修改后要重启 web 容器)S
15、truts 处理请求的详细过程:1)客户端浏览器发送请求到 ActionServlet,ActionServlet 根据请求的路径和的配 置信息找到对应的 Action Bean 和 Form Bean。如发送请求,ActionServlet 就会根据 struts 配置信息找 path 属性为“/register 的 Action Bean 于 是找至 U RegisterAction,并得知 RegisterAction 的 name 属性为memberForm,于是 找到 MemberForm 的实例(如果不存在则创建)。2)在确定将要调用的 Action Bean 和 对应的 Form
16、 Bean 后,就将请求中的值填 充到Form Bean 中(Action 可以不关联任何 ActionForm,这一步是可选的)。在 调用Action 的 execute 方法之前,ActionServlet 还要准备好 ActionMapping 参数,ActionMapping 中包含了该 Action 的配置信息。3)然后 struts 将请求分发至相应的 Action Bean 处理,ActionMapping 参数,ActionForm 参数,request 和 response 都作为参数传给处理请求的 Action Bena 的 execute 方法。4)Action 调用业务
17、逻辑方法,得至返回值,并返回 ActionForward 对象。5)控 制 权 重 新 回 至 ActionServlet,ActionServlet 很 据 Action 返 回 的 ActionForward 对象转发至相应的 jsp 6)处理结果返回给浏览器。注意的地方:1)ActionServlet 将控制权转至页面的时候采用的是 转发 的方式(url).forward(request,response);),所以转发至页面的 request 和 Action 方法 参数中的 request 是同一个请求,数据可以通过 request 对象的 attribute 属性 传递。2)当需要
18、重定向的方式转至新的页面的时候,可以再 Action 代码中使用(url);),并返回 null。3)ActionForm 很据对应 Action 的 scope 属性配置不同而生命周期有所不同。一般,scope 属性设为 request,则每次请求开始时 ActionServlet 创建新的 ActionForm 对象,保存在 request 对象的 attribute 属性中。所以可以在 Action 代码中设置 ActionForm 的值,在页面中取出。13.静态页面和动态页面的区别 静态页面页面不能动态显示数据,也就是说和数据库没有关系,只是信息写死在页 面,无法实现实时更新的效果.动
19、态页面是随着数据库的变化而变化,从而达至了数据的实时性.14.如何实现的页面间的跳转 简略回答就是通过 forward 进行跳转.详细解答就需要从页面请求开始一直至响应页面,就是通常说的找代码.Struts 的 跳转是通过.do 请求,然后根据请求在 struts 里面找到响应的请求,根据请求就可以 看到下面的 forward 转向页面是哪一个,通常有成功页面和错误页面,只要看标示 就可以,例女口 vforward name=success path=/index/contextRelative=true/;而 jsp 页面则可以直接转向,form 表单上面直接写明了请求的 jsp 页面.15
20、.如何设置背景颜色,字体大小 vbody backgrou nd=v%=()%/image/S 是设置背景图片 vbody bgcolor=blue这是设置背景颜色 以上两种是对整个页面进行设置,如果对于 td 和 tr 来讲也是同理,运用 background 和bgcolor 即可.16.设置文本框的代码 17.打开数据库,找到某某表,如果我更改某个数据,某个表里的哪个值会改变 从开始菜单-所有程序-Microsoft SQL server-企业管理器-找到数据库那一层-找 到自己的数据库-双击表-了解自己数据库中有几张表,各个字段都代表什么意思.18.购物篮是不是用 SESSION 做的
21、 答案:是用 session 做的.购物车主要是通过 session 进行操作,和数据库没有关系.19.删除一条记录用什么方法怎样实现用户登录的验证是怎样的。利用传递主键的方法,也就是 delete from 表名 where 主键=”传递过来的主 键的值”.利用 select*from 用户信息表 where 用户名=”and 密码=”,”如果有数据则登 陆成功 链接 sqlserver 的代码是什么 try conn=DriverManager.getConnection(jdbc:microsoft:;DatabaseName=bookTable;user=sa;password=s a);stmt=(1004,1007);rs=(sql);catch(SQLException ex)return rs;