jsp

1、servlet缺点,为什么会出现jsp技术?

   因为Servlet当初的设计目的是用来产生网页的程序,所以所有的页面必须在Servlet中进行构造,这样做的效率在当今来说,真的很低下,所以对于Servlet来说,它是很不利于展现的,不过它很适合于对数据的处理,所以很适合于充当控制器来使用。因为Servlet构建页面实在够差,所以后来SUN推出了JSP来一改Servlet引入的尴尬。

2、常见动态网站的技术对比

  jsp:java平台、安全性高、适合开发大型的,企业级的Web应用程序。

  .Net:.net平台、简单易学(界面化操作)。但是安全性和跨平台性差

  php:简单、高效、成本低开发周期短。特别适合中小型企业(LAMP=Linux+Apache+Mysql+Php).

3、请求转发与请求重定向的区别?

  请求重定向:客户端行为,respon.sendRedirect(),从本质上讲等同于两次请求,前一次的请求对象不会保存,地址栏的url会改变。

  请求转发:服务器行为,request.getRequestDispatcher().forward(req,resp);是一次请求,转发后请求对象会保存,地址栏的URL不会改变。

4、session与cookie的对比?

session:              cookie:

(1)服务器端保存客户信息          客户端保存

(2)保存的是object类型           string类型

(3)随着会话结束而销毁           可以长期保存客户端

(4)保存重要信息(密码)          不重要的信息

(5)保存的数据大              保存的数据少

5、include指令与include动作的区别?

  include指令 include动作
语法格式 <%@ include file="..."%> <jsp:include page="...">
发生作用的时间 页面转换期间 请求期间
包含的内容 文件的实际内容 输出内容
转换成的servlet 主页面和包含页面转换为一个servlet 转换出两个独立的servlet
编译时间   较慢—资源必须被解析 较快
执行时间 稍快 较慢—每次资源必须被解析

 

6、脚本元素:在一定程度上可以理解就是java的片段

   1、脚本:   <%  java代码  %>   局部变量

   2、表达式:  <%=java表达式 %>         输出变量   表达式

   3、声明:    <%! 变量、方法%>   全局变量   

 

7、request对象主要用于处理客户端请求,方法有:

String  getParameter(String name)          根据页面表单组件名称获取页面提交数据

String[ ]  getParameterValues (String name)  获取一个页面表单组件对应多个值时的用户的请求数据

void setCharacterEncoding (String charset) 指定每个请求的编码 在调用request.getParameter()之前进行设定,可以解决中文乱码问题

request.getRequestDispatcher(String path)  返回一个javax.servlet.RequestDispatcher对象,该对象的forward方法用于转发请求

request.setAttribute("key",value);

Object    request.getAttribute("key");

8、application对象的常用方法:

void setAttribute(String key, Object value):以键/值的方式,将一个对象的值存放到application中

Object getAttribute(String key):根据键去获取application中存放对象的值

 application.getRealpath("/"); 得到项目的路径

9、session对象常用方法:

void setAttribute(String key, Object value):以键/值的方式,将一个对象的值存放到session中

session.setAttribute("name","zhangsan");

 

Object   getAttribute(String key):根据名称去获取session中存放对象的值

String name = (String) session.getAttribute("name");

 

session.getId();    得到session的ID

session.isNew();   判断该session是否是新的

session.Invalidate();  销毁session

posted on 2016-12-10 09:19  hgfs瑞  阅读(129)  评论(0编辑  收藏  举报

导航