Summary_JSP面试试题

JSP中的注释有哪两种?有什么区别?
答:
    (1)<!-- 注释内容 --> 只能够注释前端html代码,而<%-- 注释内容 --%> 既可以注释前端html代码,还可以注释java代码
    (2)<!-- 注释内容 --> 在查看网页源代码的时候,可以看到,具有一定的安全问题,而<%-- 注释内容 --%> 在查看网页源代码的时候,不可以看到,是安全的
    
谈一下什么是jsp指令/jsp脚本片段/jsp声明/jsp表达式?
答:
    jsp指令:
        语法是:<%@ 指令名 %>
        三大指令:page指令,include指令,taglib指令
    jsp脚本片段:
        在脚本片段中书写的代码,就如同在某一个方法体中书写java代码,因此jsp脚本片段中不能定义方法。
        语法是:<% java代码 %>
    jsp声明:
        由于jsp脚本片断中不能够定义方法,为了弥补这个缺陷,发生一个Jsp声明的语法,在Jsp声明中可以定义方法。
    jsp表达式:
        语法是:<%= %>

重定向与转发有什么区别?
答:
    (1)重定向时地址栏会发生改变;转发地址栏不会发生改变。
    (2)重定向请求服务器2次;转发只请求服务器一次。
    (3)重定向调用的是response对象中的方法;转发调用的是request对象中的方法。

配置Servlet虚拟路径的方式有哪些?
答:
    方式一:通过注解
    @WebServlet(/user.do)
    
    方式二:通过配置文件 web.xml文件
    <servlet>
        <servlet-name> user </servlet-name>
        <servlet-class> cn.java.User </servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name> user </servlet-name>
        <url-pattern>/user.do </url-pattern>
    </servlet-mapping>

get与post请求有哪些区别?
答:
    (1)get请求:数据会在地址栏上显示出来,因此不要传递敏感数据。
    (2)get请求:传递的数据量有限,因此对于有文件上传的数据时不要使用get请求。
    (3)post请求:传递的参数不会在地址栏中显示出来,因此可以传递敏感数据。
    (4)post请求:传递的数据可以有很多,因此文件上传是可以使用Post请求。
    
文件存放在WEB-INF与WebContent(WebRoot)下的区别有哪些?
答:
    (1)文件存放到WebContent文件夹下可以直接访问;但是存放到WEB-INF的文件不能够直接访问,一般需要通过转发来访问。
    (2)文件保存到WEB-INF下更加安全。
    
如何解决get请求与post请求中文乱码问题?
答:
    (1)POST请求中文乱码问题:
        request.setCharacterEncoding(“UTF-8”);
        response.setCharachterEncoding(“UTF-8”);
        response.setContentType(“text/html;charset=UTF-8”);
        
    (2)请求中文乱码问题:
        修改tomcat的编码(ISO8859-1)--->UTF-8:
            <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />

Servlet的生命周期?
答:
    服务器接受客户端发送的请求后,服务器创建一个servlet对象,创建完成后不会立马销毁,而是执行servlet中的init()方法(只执行一次),然后根据doGet或者doPost调用servlet中的service()方法,最后调用servlet中的detroy()方法,销毁工程。
    
Jsp与Servlet有哪些区别?
答:
    (1)jsp与servlet中都可以书写java代码与标签,jsp擅长书写标签等;servlet擅长书写java代码。
    (2)jsp其实本质上就是一个servlet。
    
Jsp中的9大内置对象有哪些?
答:
    final javax.servlet.http.HttpServletRequest request;
    final javax.servlet.http.HttpServletResponse response; 
    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;    
    Exception;
    
Jsp中动态引入与静态引入有哪些区别?
答:
    静态引入:<%@ include file="路径" %>
        首先将多个jsp文件合并为一个Jsp,合并完成之后再将合并好的Jsp文件翻译成servlet。
    动态引入:<jsp:include page="路径">
        首先将多个jsp文件分别翻译成对应的servlet,然后在运行的时候再将多个servlet的内容动态的拼接起来。

Java中的有哪些域对象?
答:
    java中有4大域对象,按照生命周期由小到大分别为:page域--->request--->session---->application
    域对象的特点:
        (1)域对象由服务器创建,不由程序员New
        (2)域对象可以存取数据:域对象.setAttribute(String,Object)、域对象.getAttribute(String)
        (3)域对象都有范围

session与cookie有哪些区别?
答:
    (1)session将数据保存到服务器端,cookie将数据保存到用户浏览器中。
    (2)session底层是基于cookie的。
    (3)cookie可以用来做xxx小时免登陆,session主要存放用户登录成功的标记。
    
request对象中的主要方法有哪些?
答:
    (1)获取用户的请求方式
        request.getMethod()
    (2)获取远程用户的ip地址
        request.getRemoteAddr()
    (3)获取协议:http
        request.getScheme()
    (4)获取端口号:
        request.getServerPort()
    (5)获取服务器上的工程名
        request.getContextPath()

Jsp中有哪些动作?作用分别是什么?
答:
    jsp中共有6种基本动作:
        jsp:include-------->动态引入
        jsp:useBean-------->寻找或者实例化一个JavaBean
        jsp:setProperty---->设置JavaBean的属性
        jsp:getProperty---->输出某个JavaBean的属性
        jsp:forward-------->把请求转到一个新的页面(转发)
        jsp:plugin--------->根据浏览器类型生成Java插件的Object对象

getParameter与getAttribute方法有什么区别?
答:
    (1)getParameter:从request对象中获取表单页面或者其他方式传递过来的参数,当获取的参数信息不存在时返回值为null
    (2)getAttribute(String key):获取保存在域对象(page、request、session、application)中的数据
    区别:
    (1)getParameter是从request对象中获取参数;getAttribute是从域对象中获取之前保存好的数据
    (2)getParamer返回值类型为String,getAttribute返回值类型为Object

什么是EL表达式
答:
    EL表达式:
        表达式语言。
    作用:
        在Jsp中虽然可以书写java代码,但是不推荐这么做。EL可以代替部分的java代码,而且EL表达式也可以从域中获取数据,当获取的数据不存在时返回的是””。
        
JSTL常用标签有哪些?
答:
    JSTL:java标准的标签库
        <c:if test=””>
        <c:forEach>
        <c:redirect>
        <c:choose>
        <c:when>
        <c:otherwise>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值