java--web部分

1.Tomcat的优化经验

:去掉对web.xml的监视,把jsp提前编辑成Servlet。

有富余物理内存的情况,加大tomcat使用的jvm的内存

 

2.解释一下什么是servlet;什么是servlet容器;

web容器中运行的服务器端java程序,主要用于响应HTTP请求。Servlet一般用于mvc中的控制器部分。

用来管理servlet生命周期的应用程序如(tomcat webloc等)

 

3.说一说Servlet的生命周期? 

servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.Servlet接口的init,service和destroy方法表达。

 

Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。

web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do***()方法。结束服务,web容器调用servlet的destroy()方法。

 

4.HTTP请求的GET与POST方式的区别

Form中的get和post方法,在数据传输过程中分别对应了HTTP协议中的GET和POST方法。二者主要区别如下:
   1)Get是用来从服务器上获得数据,而Post是用来向服务器上传数据;
   2)Get将表单中数据按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体中,按照变量和值相对应的方式,传递到action所指向URL;
   3)Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不可见的;
   4)Get传输的数据量小,这主要是因为受URL长度限制;而Post可以传输大量的数据,所以在上传文件只能使用Post;
   5)Get限制Form表单的数据集必须为ASCII字符,而Post支持整个ISO10646字符集;
   6)Get是Form的默认方法。

 

5.请写一个Servlet的基本架构。

public class ServletName extends HttpServlet {

        public void doPost(HttpServletRequest request,

                           HttpServletResponse response)

                           throws ServletException, IOException {

        }

        public void doGet(HttpServletRequest request,

                           HttpServletResponse response)

                           throws ServletException, IOException {

        }

    }

 

6.forward 和redirect的区别? 

forward是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取,并且从浏览器的地址栏中可以看到跳转后的链接地址。前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接;在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

 

7.过滤器有哪些作用?

可以验证客户是否来自可信的网络,可以对客户提交的数据进行重新编码,可以从系统里获得配置的信息,可以过滤掉客户的某些不应该出现的词汇,可以验证用户是否登录,可以验证客户的浏览器是否支持当前的应用,可以记录系统的日志等等。

 

8.JSP的常用指令? 

  <%@page language=”java” contenType=”text/html;charset=gb2312” session=”true” buffer=”64kb” autoFlush=”true” isThreadSafe=”true” info=”text” errorPage=”error.jsp” isErrorPage=”true” isELIgnored=”true” pageEncoding=”gb2312” import=”java.sql.*”%>

isErrorPage:是否能使用Exception对象;isELIgnored:是否忽略EL表达式;

<%@include file=”filename”%>

<%@taglib prefix=”c”uri=”http://……”%>

 

9.JSP和Servlet中的请求转发分别如何实现? 

JSP中的请求转发可利用forward动作实现:<jsp:forward />;

    Serlvet中实现请求转发的方式为:

     getServletContext().getRequestDispatcher(path).forward(req,res)。

 

10.JSP乱码如何解决?

  1)JSP页面乱码

  <%@ page contentType=”text/html ; charset=utf-8”%>

  表单提交中文时出现乱码

  request.setCharacterEncoding(“utf-8”);

  数据库连接出现乱码

  是数据库连接中加入

  useUnicode=true&characterEncoding=utf-8;

 

11.session 和 application的区别?

1)两者的作用范围不同:

Session对象是用户级的,而Application是应用程序级别的

一个用户一个session对象,每个用户的session对象不同,在用户所访问的网站多个页面之间共享同一个session对象

一个Web应用程序一个application对象,每个Web应用程序的application对象不同,但一个Web应用程序的多个用户之间共享同一个application对象。

两者的生命周期不同:

session对象的生命周期:用户首次访问网站创建,用户离开该网站 (不一定要关闭浏览器) 消亡。

application对象的生命周期:启动Web服务器创建,关闭Web服务器销毁。

 

12.jsp有哪些内置对象?作用分别是什么?

答:JSP共有以下9种基本内置组件

   request:用户端请求,此请求会包含来自GET/POST请求的参数;

   response:网页传回用户端的回应;

   pageContext:网页的属性是在这里管理;

   session:与请求有关的会话期;

   application:servlet正在执行的内容;

   out:用来传送回应的输出;

   config:servlet的构架部件;

   page:JSP网页本身;

   exception:针对错误网页,未捕捉的例外

 

13. Jsp有哪些动作?作用分别是什么?

:JSP共有以下6种基本动作

jsp:include:在页面被请求的时候引入一个文件。

jsp:useBean:寻找或者实例化一个JavaBean。

jsp:setProperty:设置JavaBean的属性。

jsp:getProperty:输出某个JavaBean的属性。

jsp:forward:把请求转到一个新的页面。

jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记

 

14.JSP中动态INCLUDE与静态INCLUDE的区别?

动态INCLUDE用jsp:include动作实现

<jsp:include page=included.jsp flush=true />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数 静态INCLUDE用include伪码实现,定不会检查所含文件的变化,适用于包含静态页面 <%@ include file=included.htm %>

 

15.JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么?

JSP是Servlet技术的扩展,本质上是Servlet的简易方式,更强调应用的外表表达。JSP编译后是"类servlet"。Servlet和JSP最主要的不同点在于,Servlet的应用逻辑是在Java文件中,并且完全从表示层中的HTML里分离开来。而JSP的情况是Java和HTML可以组合成一个扩展名为.jsp的文件。JSP侧重于视图,Servlet主要用于控制逻辑。 

 

16.MVC的各个部分都有那些技术来实现?如何实现?

MVC是Model-View-Controller的简写。Model 代表的是应用的业务逻辑(通过JavaBean,EJB组件实现), View 是应用的表示面(由JSP页面产生),Controller 是提供应用的处理过程控制(一般是一个Servlet),通过这种设计模型把应用逻辑,处理过程和显示逻辑分成不同的组件实现。这些组件可以进行交互和重用。

 

17.页面传递对象的方法?

Request、session、application、cookie等

 

18.Cookied和session区别?

cookie数据存放在客户的浏览器上,session数据放在服务器上。

b、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。

c、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。

d、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值