javaWEB项目答辩
- 格式:doc
- 大小:99.00 KB
- 文档页数:15
javaweb项⽬答辩答辩题总结(书本⽹上语⾔答辩+⾃⼰的语⾔答辩)答辩每个⼈的总分为1.5分。
每个⼈主要问3个问题。
开发流程===》系统架构====》项⽬模块+功能===》项⽬得失重定向与转发:?九个隐式对象?get与post的区辨:?jsp有静态包含,动态包含,两者的区辨:?什么是MVC:?web系统架构:?java web项⽬答辩总结试题注释:⽤楷体写的就是⽤⾃⼰组织的话来回答⽼师的问题。
1 http协议全名和特点(答辩⽼师:你对HTTP的是怎么理解的:答辩同学:⾸先HTTP是⼀种超⽂本传输协议,也是⼀种⽆状态的协议。
浏览器通过HTTP协议与web服务器交换信息,他处理信息交换的过程是:客户端和web服务器建⽴连接--->客户端发送HTTP请求--->服务器端接收客户端的HTTP请求,⽣成HTTP响应回发--->服务器端关闭连接HTTP请求,HTTP请求⾥有包含有请求⾏,请求头,空⾏,消息体。
HTTP响应⾥⼜包含状态⾏,响应码,空⾏,消息体。
)HTTP是⼀种超⽂本传输协议(HyperText Transfer Protocol),是⼀种⽆状态的协议;HTTP遵循请求/响应模型。
1.⽀持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求⽅法和路径。
请求⽅法常⽤的有GET、HEAD、POST。
每种⽅法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模⼩,因⽽通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。
正在传输的类型由Content-Type加以标记。
4.⽆连接:⽆连接的含义是限制每次连接只处理⼀个请求。
服务器处理完客户的请求,并收到客户的应答后,即断开连接。
采⽤这种⽅式可以节省传输时间。
5.⽆状态:HTTP协议是⽆状态协议。
⽆状态是指协议对于事务处理没有记忆能⼒。
缺少状态意味着如果后续处理需要前⾯的信息,则它必须重传,这样可能导致每次连接传送的数据量增⼤。
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:无长度限制(数据量大),地址栏不可见(相对安全)。
4.Servlet的生命周期?答案:1. 实例化(执行构造方法)--->2. 初始化(执行init()方法)--->3.服务(根据get或post 请求执行相应的doGet()或doPost()方法)--->4. 销毁(执行destroy()方法)5.页面跳转的两种方式?答案:内部跳转和外部跳转。
内部跳转使用:request. getRequestDispatcher (“跳转的路径”).forward(request,response);外部跳转使用:response.sendRedirect(“跳转的路径”);注意:两者之间的区别,内部跳转请求在服务器内部完成,相当于一次请求;而外部跳转客户端会发送两次请求;6.内部跳转和外部跳转区别?答案:内部跳转与外部跳转区别:1.内部跳转:浏览器的地址栏不会发生改变。
request中的参数值,会被保留到新的页面。
2.外部跳转:浏览器地址发生改变(相当于二次请求)。
第一次request中的参数值,不会被保留。
7.Post提交如何处理中文?答案:request.setCharacterEncoding("gbk");response.setCharacterEncoding("gbk");注意:这种中文处理方式只能用来处理post提交必须写在方法的第一行。
javaweb宿舍管理系统答辩问题space以及后面的是什么意思?答:命名空间,相当于namespace相当于windows操作系统中的文件夹。
“项目名.文件夹名”,用于细分文件。
2.Public与private的区别及功能答:private是完全私有的,只有在类自己里面可以调用,在类的外部和子类都不能调用,子类也不能继承父类的private的属性和方法。
public对任何类和成员都完全公开,无限制访问。
3.@符号的作用答:1.忽略转义字符,2.让字符串跨行,3.在标识符中的用法:C#是不允许关键字作为标识符(类名、变量名、方法名、表空间名等)使用的,但如果加上@之后就可以了。
4.解释一下delete方法中报错机制,运行流程答:1、将预见可能引发异常的代码包含在try语句块中。
2、如果发生了异常,则转入catch的执行。
3、finally可以没有,也可以只有一个。
无论有没有发生异常,它总会在这个异常处理结构的最后运行。
即使你在try块内用return返回了,在返回前,finally总是要执行,这以便让你有机会能够在异常处理最后做一些清理工作。
如关闭数据库连接等等。
(如果没有catch语句块,那么finally块就是必须的。
)5.Indexof是弄啥嘞?返回个啥?答:返回某个指定字符串值在字符串中首次出现的位置。
如果字符串中没有指定字符,则返回-1;如果有,则返回字符串的位置。
Indexof可以从指定位置开始进行查询,formindex的合法取值范围是0到stringobject.length-1。
6.解释一下占位符{0}答:接收第一个传递过来的参数7.解释一下参数列表框中的内容答:声明一个变量或类,接收界面传递来的参数8.解释一下sql语句答:查询x表中的a,b列9.Datatable是什么?答:DataTable是一个临时保存数据的网格虚拟表(表示内存中数据的一个表。
),存放从数据库查询到的数据。
毕业设计答辩 java问题毕业设计答辩 Java问题在计算机科学与技术专业的学习中,毕业设计是一个重要的环节。
在毕业设计答辩中,学生需要展示自己的设计成果,并回答评委的问题。
对于Java专业的学生来说,面对Java相关问题是不可避免的。
本文将从不同的角度探讨毕业设计答辩中可能遇到的Java问题。
1. 项目设计与架构在毕业设计答辩中,评委通常会关注项目的整体设计与架构。
学生需要清楚地解释项目的目标和功能,并展示项目的架构图。
评委可能会提问关于项目设计模式的选择、数据结构的合理性以及可扩展性和可维护性等方面的问题。
学生需要对项目的整体设计有清晰的理解,并能够回答这些问题。
2. 编码规范与代码质量在Java开发中,编码规范和代码质量是非常重要的。
评委可能会关注学生在项目中是否遵循了编码规范,并且能够提出一些与代码质量相关的问题。
例如,评委可能会问学生是否使用了合适的命名规范、是否遵循了面向对象的设计原则、是否进行了适当的异常处理等。
学生需要展示自己对编码规范和代码质量的重视,并能够回答这些问题。
3. 数据库设计与操作对于涉及数据库的毕业设计项目,评委通常会关注数据库设计和操作方面的问题。
学生需要清楚地解释数据库的设计思路和表结构,并能够回答评委关于数据库查询优化、事务处理和数据备份等方面的问题。
此外,评委可能还会询问学生在项目中是否使用了合适的ORM框架,以及对于数据库性能优化的考虑。
学生需要对数据库设计和操作有深入的了解,并能够回答相关问题。
4. 系统性能与安全性在毕业设计答辩中,评委可能会关注学生对系统性能和安全性的考虑。
学生需要能够解释自己在项目中如何进行性能优化,例如使用缓存、异步处理等技术。
此外,评委可能会提问关于系统安全性的问题,例如如何防止SQL注入、XSS攻击等。
学生需要对系统性能和安全性有一定的了解,并能够回答这些问题。
5. 技术选型与新技术应用在毕业设计答辩中,评委可能会关注学生对技术选型和新技术应用的理解。
java 项目答辩Java项目答辩一、引言在软件开发领域,Java是一种广泛应用的编程语言,具有跨平台、面向对象、安全可靠等特性,因此在项目开发中得到了广泛的应用。
本文将围绕Java项目答辩展开,探讨其重要性、准备工作、演讲技巧以及评审标准等方面的内容。
二、Java项目答辩的重要性Java项目答辩是项目开发过程中的重要环节,它不仅是对开发人员工作成果的检验,也是展示项目实施过程中技术能力和团队协作能力的机会。
通过答辩,可以评估项目的质量、可行性和创新性,为项目的进一步推进提供参考。
三、准备工作1. 确定答辩内容:在答辩前,需要明确答辩的主要内容,包括项目背景、需求分析、系统设计、开发过程、成果展示等。
根据答辩要求,准备相关的PPT或演讲稿,确保内容准确、简洁、有条理。
2. 技术准备:项目开发中使用的技术和工具,需要在答辩前进行整理和总结,对于常用的技术点、难点和解决方案都要进行充分的准备。
同时,还需保证项目的稳定性和可演示性,确保在答辩过程中能够流畅地展示项目功能和特点。
3. 团队协作:答辩中,团队成员的协作与默契也是评审的重要指标之一。
团队成员需要提前进行沟通和协调,明确各自的分工和责任,确保答辩过程中的衔接和配合。
四、演讲技巧1. 清晰表达:演讲时要注意语言清晰、表达准确。
可以通过提前准备好的演讲稿、PPT等工具来帮助自己表达清晰、有条理。
2. 技术解释:在演讲过程中,需要对项目中的关键技术点进行解释和说明,尽量避免使用过于专业的术语,以确保评审人员能够理解。
3. 举例说明:为了更好地展示项目的功能和特点,可以结合实际案例或使用场景进行说明。
通过具体的例子,可以更好地吸引评审人员的注意力,使其更好地理解项目的价值。
五、评审标准1. 项目创新性:评审人员将根据项目的创新点和技术难度来评估其创新性。
项目应具备一定的技术含量和独特性,能够解决实际问题或带来新的体验。
2. 功能完整性:项目答辩中需要展示的功能应该是完整的,能够满足需求,并且能够正常运行。
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:无长度限制(数据量大),地址栏不可见(相对安全)。
4.Servlet的生命周期?答案:1. 实例化(执行构造方法)--->2. 初始化(执行init()方法)--->3.服务(根据get或post 请求执行相应的doGet()或doPost()方法)--->4. 销毁(执行destroy()方法)5.页面跳转的两种方式?答案:内部跳转和外部跳转。
内部跳转使用:request. getRequestDispatcher (“跳转的路径”).forward(request,response);外部跳转使用:response.sendRedirect(“跳转的路径”);注意:两者之间的区别,内部跳转请求在服务器内部完成,相当于一次请求;而外部跳转客户端会发送两次请求;6.内部跳转和外部跳转区别?答案:内部跳转与外部跳转区别:1.内部跳转:浏览器的地址栏不会发生改变。
request中的参数值,会被保留到新的页面。
2.外部跳转:浏览器地址发生改变(相当于二次请求)。
第一次request中的参数值,不会被保留。
7.Post提交如何处理中文?答案:request.setCharacterEncoding("gbk");response.setCharacterEncoding("gbk");注意:这种中文处理方式只能用来处理post提交必须写在方法的第一行。
8.Get提交如何处理中文?答案:String conver_sex = new String(sex.getBytes("iso-8859-1"),"gbk");注意:这种方式只能用来处理get提交9.JSP页面元素的构成?10.JSP页面常用的内置对象?答案:11.Session对象的作用已经常用方法?答案:Session作用:用于存放、记录每一个客户端的相关信息。
session.setAttribute("name","sisi");//将变量存放在session中session.getAttribute("name");//获取session中的值session.invalidate();//session立即被销毁12.什么是MVC三层结构?答案:M表示模型——数据访问层。
C表示控制——业务控制层。
V表示显示——展示层。
13.项目中如何判断用户是否已经登录?答案:登录的时候,将用户的信息存放在session中;然后从Session中获取用户的信息(Session.getAttribute(“名字”));如果返回null表示还没有登录。
14.请简单介绍一下购物车如何实现?答案:每个用户对应一个唯一的session对象,将用户的购物信息通过session保存、读取。
Session中存放的是一个集合(ArrayList),集合中存放用户购买的商品对象(GoodsInfo)。
15.jsp中的作用域有几种?分别是什么?其作用范围有多大?答:有四种,分别是:page,request,session,application。
作用范围:page:在当前页面中有效,request:能保存一次服务器端跳转内的值,session:一次会话之内有效(可以理解为打开浏览器开始到关闭浏览器之后),application:在整个服务器启动范围之内有效(即:启动服务器开始至关闭服务器)。
16.jsp运行原理?1)客户端通过jsp页面向服务器断发送一次请求,2)服务器接受请求后交给jsp解释引擎处理,3)jsp解释引擎在将处理结果返回给服务器,4)最后服务器在将客户端的请求结果以html的方式返回给客户端17.每一个jsp文件最终都会被转译成什么文件?答:编译成servlet文件;18.为什么jsp文件第一次运行时候比较慢?答:第一次运行jsp文件的时候,首先要将jsp文件编译成servlet文件,然后在加载执行,第二次运行jsp文件的时候:1)首先判断jsp文件是否修改,如果没有修改,则直接调用之前生成的servlet文件,如果有修改则先要在编译生成新的servlet 文件之后在执行。
19.如何访问servlet?答:访问servlet,首先要找到web.xml配置文件中的<url-pattern>/servlet/test</url-pattern>中的路径地址。
20.解释servlet中web.xml配置文件<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4"xmlns="/xml/ns/j2ee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/j2ee/xml/ns/j2ee/web-app_2_4.xsd"><servlet><!—在web.xml文件内部起作用的名字--><servlet-name>simple</servlet-name><!—包.类名 --><servlet-class>com.zuxia.simple.SimpleServlet</servlet-class> </servlet><servlet-mapping><!—此名称必须与上面配置的名称一致 --><servlet-name>simple</servlet-name><!—访问此servlet的路径。
必须以/开头 --><url-pattern>/aa/bb</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>21.servlet的生命周期答:创建 初始化—》服务—》销毁22.解释servlet中各个方法在什么时候执行?public class SimpleServlet extends HttpServlet{public void init(ServletConfig config)throws ServletException{//初始化方法}public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException{//接收客户端的get请求}public void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException,IOException{//接收客户端的post请求}public void destroy(){//当servlet销毁的时候执行}}23.如何通过地址向servlet中传递参数?答:<a href=”test.jsp?name=’zhangsan’&pass=’123456’”>地址重写传递参数</a>只要在要访问的路径之后加上一个“?”然后接上要传递的参数名称如上所示name,后面赋值即可,如果要传递多个参数则用“&”隔开。
24.简述什么是MVC设计模式以及优点有哪些?答:jsp+servlet+javaBean,客户端发送请求,由servlet接收(Control),并且调用相应的dao(Model)进行处理,在将结果返回给响应的jsp页面(view)。
优点:适合团队开发,可维护性很高,分工明确等。
千里之行购物网站答辩问题列表一、登入登出部分1、请解释登录界面的业务流程及相应代码;登录页面,当单击登录按钮之后,将表单信息(用户名和密码)提交到Servlet中,Servlet 接收表单信息,调用相应的Dao进行登录验证,如果验证成功,则将用户名,用户id,保存在session中,然后跳转到后台首页,否则失败。
2、如果登录失败,如何处理,如何给出提示信息?如果登录失败,保存失败信息在request范围之内,然后使用服务器端跳转,跳转到登陆页,在登录页将request范围之内的信息取出打印在页面中,给用户提示。
3、你的后台页面是否可以绕过登录,而通过URL直接访问?如果是,请解决此问题;如果否,请解释你是如何做到的。
不可以,在后台登陆首页,在页面的最上方判断session中是否存在用户名的属性,如果不存在则跳转到登录页,否则说明登录成功。
4、页面上的登录的用户名和时间是如何显示的?(和第一题有重叠)从session中取出用户名打印出来即可显示,时间通过javaScrip可以得到当前系统时间。
5、如何发布公告的?解释业务流程?a)在发布公告页面,输入完整的信息之后,单击提交按钮之后,将表单信息提交到Servlet中,Servlet接收表单信息,并且将Session中的当前用户ID取得,在取得当前系统时间,在调用相关的dao类,进行处理,如果添加成功,跳转到成功页,否则到失败页面。
6、你的“退出系统”功能是如何完成的?销毁session中所有的信息,使用invalidate()方法。
然后跳转到登陆页面。
二、系统用户管理部分:1、请解释用户密码修改的业务流程及相应代码;2、请解释用户名修改的业务流程及相应代码;三、公告管理部分1、请解释公告管理中的增,删、改、查中的某个业务流程及相应代码;2、在新增公告时,公告发布者的信息应如何获取和操作,说明你的方法;添加公告时,可以将之前保存在Session中的用户id取得,然后插入到公告信息表中的相应字段。