JavaWeb应该记住的一些问题

本文详细介绍了Servlet和JSP的基础知识,包括Servlet的创建时机、单例多线程特性,以及forward与redirect的区别。同时,讨论了GET和POST请求的不同,以及JSP动态包含和静态包含的实现方式。此外,还列举了JSP内置对象的功能和用途,如request、response、session等,为理解Web开发中的关键概念提供了清晰的指导。
摘要由CSDN通过智能技术生成

目录

1、转发(forward)与重定向(redirect)的的区别?

2、Servlet被创建的时间?

3、Servlet是单例多线程还是多例单线程?

4、get与post的区别?

5、JSP中动态包含与静态包含的区别?

6、JSP内置对象(隐式对象)

request对象

response对象

out对象

session对象

application对象

config对象

pageContext对象

page对象

exception对象


1、转发(forward)与重定向(redirect)的的区别?

(1).转发不会改变地址栏,重定向会改变地址栏

(2).转发只发送一个请求,重定向发送两个

(3).转发操作请求,重定向操作响应

(4).转发可以获取request作用域的数据,重定向不可以获取

(5).转发只能转发到服务器已有资源,重定向可以访问其他服务器的资源

2、Servlet被创建的时间?

默认在第一次访问时创建对象

LoadOnStartup为负数时,表示第一次访问时创建

LoadOnStartup为正数时,表示在Tomcat启动时创建,值越小,创建时间越早

3、Servlet是单例多线程还是多例单线程?

单例多线程

method中的get,post

<body>
    <div class="container">
        <div class="login-wrapper">
            <div class="header">登录</div>
            <div class="form-wrapper">
                <form action="/login" method="post">
                    <input type="text" name="name" placeholder="用户名" class="input-item">
                    <input type="password" name="pwd" placeholder="密码" class="input-item">
                    <div><button class="btn">登录</button></div>
                </form>
            </div>
            <div class="msg">
                <a href="/register.jsp">没有账号?去注册</a>
            </div>
        </div>
    </div>
</body>

4、get与post的区别?

(1).get会将表单数据放到地址栏(请求行),post不会(请求体)

(2).get请求相对post快

(3).get请求相对没有那么安全(数据直接展示),post请求更安全

(4).get请求携带参数有上限,post请求理论上可以无限

5、JSP中动态包含与静态包含的区别?

动态包含会生成多个文件,静态包含只生成一个文件

动态包含是在运行时合并结果,静态包含是在运行前合并成一个jsp文件,再进行编译

 

6、JSP内置对象(隐式对象)

名称类型描述
outjavax.servlet.jsp.JspWriter用于页面输出
requestjavax.servlet.http.HttpServletRequest得到用户请求信息
responsejavax.servlet.http.HttpServletResponse服务器向客户端的回应信息
configjavax.servlet.ServletConfig服务器配置,可以取得初始化参数
sessionjavax.servlet.http.HttpSession用来保存用户的信息
applicationjavax.servlet.ServletContext所有用户的共享信息
pagejava.lang.Object指当前页面转换后的Servlet类的实例
pageContextjavax.servlet.jsp.PageContextJSP的页面容器
exceptionjava.lang.Throwable表示JSP页面所发生的异常,在错误页中才起作用

request对象

request对象是javax.servlet.http.HttpServletRequest对象的一个实例。每当客户端请求页面时,JSP引擎将创建一个新对象来表示该请求。

request对象提供了获取包括表单数据,Cookie,HTTP方法等HTTP头信息的方法。

response对象

response对象是javax.servlet.http.HttpServletResponse对象的一个实例。就像服务器创建request对象一样,它还创建一个对象来表示对客户端的响应。

response对象还定义了处理创建新HTTP头的接口。通过此对象,JSP程序员可以添加新的Cookie或日期戳,HTTP状态代码等。

out对象

out隐式对象是javax.servlet.jsp.JspWriter对象的一个实例,用于在响应中发送内容。

初始化JspWriter对象根据页面是否缓存而不同地实例化。缓冲可以通过使用page指令的buffered ='false'属性来关闭。

JspWriter对象包含与java.io.PrintWriter类大部分相同的方法。但是,JspWriter还有一些额外的方法用来处理缓冲。与PrintWriter对象不同,JspWriter会抛出IOExceptions异常。

session对象

session对象是javax.servlet.http.HttpSession的一个实例,其行为与Java Servlet下的会话对象行为完全相同。 session对象用于跟踪客户端请求之间的客户端会话。

application对象

application对象是生成的ServletServletContext对象的直接包装,实际上是javax.servlet.ServletContext对象的一个实例。

application对象是JSP页面在其整个生命周期中的表示。 当JSP页面被初始化时,将创建此对象,并且在JSP页面被jspDestroy()方法删除时application对象也将被删除。

通过向application对象添加属性值,可以确保组成Web应用程序的所有JSP文件都可以访问它。

config对象

config对象是javax.servlet.ServletConfig的实例化,是生成的servlet的ServletConfig对象周围的直接包装。

pageContext对象

pageContext对象是javax.servlet.jsp.PageContext对象的一个实例。pageContext对象用于表示整个JSP页面。

page对象

page对象是对该页面实例的实际引用。可以认为它是表示整个JSP页面的对象。

page对象是this对象的直接同义词。

exception对象

exception对象是一个包含上一页抛出的异常的包装器。它通常用于生成对错误条件的适当响应。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值