




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件工程答辩常见问题总结1 .我们正常写完一个JAVA文件都需要自动编译一下,这是为什么?因为我们运行程序的时候用到的不是java程序而是class程序.tomcat读的是java文件还是什么?是 class文件 不是java程序2 .链接sqlserver的一般端口是什么? 1433还有其他的端口么? tomcat的8080端口3 .在java项目开发当作,你一般是怎么调试程序的?sqlserver数据库的还原以及备份?利用debug调试程序.4 .如果我要给页面加过滤器控制乱码,我应该怎么做?近来在调试Jsp文件问题时,中文乱码现象经常遇到,现将处理方法总结一下,供 大家参考:.Jsp文件
2、页面显示乱码,这种情况比较好处理,在页面的Page指令加上如下一 项就OK了:<% page contentType="text/html; charset=gb2312"%>.Jsp页面采用表单提交时,提交的数据中含有中文,这时我们获取表单数据后 展示到其它页面时也会出现乱码,解决方案是在提交处理的Servlet里接收数据 时,先加上如下一行代码:request.setCharacterEncoding("gb2312");这是其中的一种作法,当页面较少时还好,如果页面较多,我每添加新的页面就 要加上这句话,所以可以采用过滤器来解决,具体解
3、决步骤如下:首先写一个过滤器类,代码如下: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 SetCharacterEncoding
4、Filter implements Filter public void destroy() public void doFilter(ServletRequestrequest,ServletResponse response,FilterChain chain)throws IOException, ServletException request.setCharacterEncoding("gbk");/传递控制到下一个过滤器chain.doFilter(request, response); public void init(FilterConfigfilterCo
5、nfig) throwsServletException 然后在web.xml文件中添加如下代码:<filter><!-为过滤器起个名字-><filter-name>Set Character Encoding</filter-name><!-过滤器类的包名.类名-><filter-class>demo.SetCharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>Set Char
6、acter Encoding</filter-name><!-匹配所有的请求-><url-pattern>/*</url-pattern></filter-mapping>这样所有的请求都将交由这个过滤器处理下,这样无论我们添加多少个页面都 可以放心了,不用总考虑要加那么一句代码了 .在存取数据库时发生乱码现象,这种现象比较郁闷,处理起来相对复杂一点. 首先要在数据存入数据库时,进行如下编码的转换:如我们要把含有中文的字符 用存入数据库,首先:String s=request.getParameter("author&quo
7、t;);String author=new String(s.getBytes("ISO8859_1"),"gb2312");在从数据库取出展示到页面时,也要经过如下转换:String s=rs.getString("author");Stringauthor=newString(s.getBytes("GB2312"),"ISO8859_1");以上是我总结的对三种Jsp文件中文乱码的处理方法,希望对大家有所帮助.5.在数据库定义字段的时候,可以选择 char还有varchar ,你一般选择什
8、么, 为什么?选才? varchar,因为varchar是可变长的字符型,而char是定长的5 .为什么要用struts自身带的text框,它与HTML勺有什么区别?在jsp中<html:text> 经java解释后就变成了 <input type="text">两者是等价的 在jsp页面中之所以要用<html:text> 是因为struts结构中许要在actionform 中直接根据<html:text> 中的属性poperty 与actionform 中的字段 一一对应取值不许要普通<input>采用ruque
9、st.getP*() 来去值 怎么导入现有的数据库,它的备份为*bak 还原数据库或者附加数据6 .在中文编程中,你使用的服务器是TOMCA孜口果出现乱码,你是怎么解决的? 方法一:更改页面字符集方法二:在tomcat 的 server.xml 中更改字符集JAVA!接sqlserver需要哪些jar包? mssqlserver.jar7 .如果我要实现上传图片,然后再另一个页面显示,我应该怎么做?应该把上传的图片输出到服务器下面的某一个文件夹,这样可以保证本机图片删除以后任何页面都可以访问并且显示.安装sqlserver时,经常会出现安装问题,例如会出现说“某某文件被挂起, 安装运行程序之前
10、请重新启动计算机”,你是否也遇见过这样的问题? 遇到过,只要把暴风影音或者网络电视卸载就可以解决.8 .如果我要从配置文件中读取中文汉字,显示到JSP页面上?如果出现乱码我应该怎么处理?str.getBytes("iso8859_1"), "gb2312");怎么去更改sqlserver 的字符集?可以用下面语句改变数据库的字符集。ALTER DATABASE yourdb COLLATE 新字符集改变sql server的默认字符集,要重建 master9 .在获取一个从数据库查询回来的数组,你一般是怎么知道它里面存储了多少 数据?利用数组.size(
11、)方法就可以知道其数目是多少.你在开发中用过JAVASCRIPT你为什么要用这个,它与 JAVA有什么关系?用到了,JAVASCRIPT可以减轻服务器的访问频率,从而提高服务器的运行速度. 达到了前台校验的效果.它和java没有任何关系,属于一种脚本语言.10 .java中如果出现EXCEPTION话,你应该怎么做,你在这次开发中用到了么?java连接mysql需要哪些JAR包?第一种方法是throws DAOException(异常)第二种方法是捕获异常-try catch() 方法11 .数据库选用Mysql , SQLSERVERR为什么?如何倒入数据库?JAVA连接sqlserver
12、需要哪些jar包?选才? SQL SERVERS全性高,性能好.如何倒入数据库?右键数据库-然后附加数据库即可.JAVA!接sqlserver需要哪些jar包?mssqlserver.jar12 .简单的说一下B/S结构体系的优点?B/S结构:(Browser/Server ,浏览器/服务器模式):是WEB4起后的一种网络 结构模式,WEB览器是客户端最主要的应用软件。这种模式统一了客户端,将 系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要 安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer ,服务器安
13、装 Oracle、Sybase、Informix 或 SQL Server 等数据库。 浏览器通过Web Server同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了 交互性,能进行局部实时刷新。一、B/S结构的优点B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何 专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展 非
14、常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用 了。甚至可以在线申请,通过公司内部的安全认证(如C A证书)后,不需要 人的参与,系统可以自动分配给用户一个账号进入系统。二、B/S架构软件的优势与劣势(1)维护和升级方式简单。目前,软件系统的改进和升级越来越频 繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微大一点单位来说, 系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是 浏览器,根本不需要做任何的维护。无论用户的规模有多大,有多少分支机构 都不会增加任何维护升级的工作量,所
15、有的操作只需要针对服务器进行;如果 是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客 户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今 后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、 物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方 式是“瘦”客户机,“胖”服务器。(2)成本降低,选择更多。大家都知道 windows在桌面电脑上几乎 一统天下,浏览器成为了标准配置,但在服务器操作系统上windows并不是处于绝对的统治地位。现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性
16、高。所以服务器操作系统的选择是很多的, 不管选用那种操作系统都可以让大部分人使用windows作为桌面操作系统电脑不受影响,这就使的最流行免费的Linux操作系统快速发展起来,Linux除了操 作系统是免费的以外,连数据库也是免费的,这种选择非常盛行。比如说很多人每天上“新浪”网,只要安装了浏览器就可以了,并 不需要了解“新浪”的服务器用的是什么操作系统,而事实上大部分网站确实 没有使用windows操作系统,但用户的电脑本身安装的大部分是windows操作系统。(3)应用服务器运行数据负荷较重。由于 B/S架构管理软件只安装 在服务器端(Server)上,网络管理人员只需要管理服务器就行了,
17、用户界面主要事务逻辑在服务器(Server)端完全通过 WWWJ览器实现,极少部分事务 逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要 做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃” 等问题,后果不堪设想。因此,许多单位都备有数据库存储服务器,以防万一。12.MVC模式分为哪三个组件,工作的核心?Struts应用中包含3种组件:控制器组件(C)、模型组件(M、和视图组件(V)c 控制器:ActionServlet (核心控制器)、自定义Action (代表一个用户操作)。 模型组件:定义和实现业务逻辑的接口和类。视图组件:jsp页面、Acti
18、onForm和Struts 标签。ActionServet 是Struts 最核心的组件。在 Web§器启动的时候,ActionServlet 被初始化,加载struts-config.xml 配置文件(这就是为什么当struts配置文 件修改后要重启web容器)。Struts处理请求的详细过程:1)客户端浏览器发送请求到ActionServlet,ActionServlet根据请求的路径和struts-config.xml的配置信息找到对应的 Action Bean 和Form Bean。如发送请求 http:/hocalhost:8080/myweb/register.do至UK
19、器,ActionServlet就会根据 struts 配置信息找 path属性为“ /register ”的Action Bean,于是找到 RegisterAction ,并得知 RegisterAction 的 name属性 为"memberForm",于是找到MemberFornm勺实例(如果不存在则创建)。2)在确定将要调用的 Action Bean 和对应的Form Bean后,就将请求中的值 填充到Form Bean中(Action可以不关联任何 ActionForm ,这一步是可选的)c 在调用 Action 的 execute 方法之前,ActionServ
20、let 还要准备好 ActionMapping 参数,ActionMapping中包含了该Action的配置信息。3)然后struts 将请求分发至相应的 Action Bean处理,ActionMapping参数, ActionForm 参数,request 和response 都作为参数传给处理请求的 Action Bena 的 execute 方法。4) Action调用业务逻辑方法,得到返回值,并返回 ActionForward对象。5)控制权重新回到ActionServlet ,ActionServlet 很据 Action 返回的ActionForward 对象转发到相应的jsp6
21、)处理结果返回给浏览器。注意的地方:1) ActionServlet将控制权转到页面的时候采用的是转发 的方式(request.getRequestDispatcher(url).forward(request,response);),所以转发到页面的request和Action 方法参数中的request是同一个 请求,数据可以通过request 对象的attribute属性传递。2)当需要重定向的方式转到新的页面的时候,可以再 Action 代码中使用( response.sendRedirect(url); ),并返回 null 。3 ) ActionForm 很据对应Action 的s
22、cope属性配置不同而生命周期有所不同。一般,scope属性设为request, 则每次请求开始时 ActionServlet创建新的ActionForm 对象,保存在request 对象的attribute属性中。所以可以在Action 代码中设置ActionForm 的值,在页面中取出。13 .静态页面和动态页面的区别?静态页面页面不能动态显示数据,也就是说和数据库没有关系,只是信息写死在 页面,无法实现实时更新的效果.动态页面是随着数据库的变化而变化,从而达到了数据的实时性.14 .如何实现的页面间的跳转?简略回答就是通过forward进行跳转.详细解答就需要从页面请求开始一直到响应页面
23、,就是通常说的找代码.Struts 的跳转是通过.do请求,然后根据请求在struts里面找到响应的请求,根据请求 就可以看到下面的forward转向页面是哪一个,通常有成功页面和错误页面,只 要 看 标 示 就 可 以, 例 如 <forward name="success" path="/index/indexInfo.jsp" contextRelative="true"/> 而 jsp 页面贝U可以 直接转向,form表单上面直接写明了请求的jsp页面.15 .如何设置背景颜色,字体大小?<body background="<%=request.getContextPath()%>/image/tt.gif"> 这是设 置背景图片<body bgcolor="blue"> 这是设置背景颜色以上两种是对整个页面进行设置,如果对于td和tr来讲也是同理,运用background 和 bgc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿教师培训见习总结范文参考
- 写作能力提升:职场邮件范文解析
- 2024年职场英语沟通技巧专项训练
- 医院信息科岗位职责与工作总结
- 小学语文识字教学游戏方案
- 学前儿童心理发展期末考试题库
- 电动机技术协议模板及签订流程
- 助学活动主持模板与话术范例
- 小学健康教育活动记录表范本
- 数学小数点变化教学案例与解析
- 人教版七年级数学上册《填幻方》PPT
- 支护桩锚索施工方案
- 药品不良反应和医疗器械不良事件监测培训终杨课件
- 海尔人单合一管理模式课件
- 新生儿肺炎诊疗规范
- 《孤独的小螃蟹》课件PPT
- 池塘养鱼高产新技术
- 新人教版九年级物理实验报告册全
- GB/T 20913-2007乘用车正面偏置碰撞的乘员保护
- GB/T 10183.1-2010起重机车轮及大车和小车轨道公差第1部分:总则
- 三年级作文秋天的景色课件
评论
0/150
提交评论