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 和 post
Get: 有长度限制(数据量小),浏览器地址栏可以看见传递的参数。默认使用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 Bytes(”iso-8859—1”),”gbk");
注意:这种方式只能用来处理get提交
9.JSP页面元素的构成?
答案:
静态内容
就是jsp页面中的html标签,css,javascript代码
指令
<%@ 指令名 属性=“值” %〉
其中最常用的page指令:page指令主要是用于控制整个jsp页面的信息
声明
〈%!  可以定义变量,定义方法 %>
声明:就是将当前的jsp页面,看成一个Java类.
例如:
<%!
    private int a = 10;
%〉
等同于如下代码:
public class Test {
jsp定义    private int a = 10;
}
表达式
〈%= 输出的变量名 %> //注意:没有分号结束哦
代码块(scriptlet)
<%
  //写Java代码
%〉
注释
Html 的注释:〈!-- 注释内容 —-〉
JSP的注释:〈%—- 注释内容 ——%〉
动作
<jsp:动作名>
10.JSP页面常用的内置对象?
答案:
request
表示客户端的请求
response
服务器端的响应
session
存储当前会话的信息(每一个用户一个就是Session对象)
application
存储所有人的会话信息(类似于:QQ聊天)
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>中的路径地址。