选择题:
数据库语句 result是什么 占位符是什么 占位符是什么符号
简答题:
Ⅰ.JSP有几大作用域?作用域的范围有哪些?每个JSP作用域范围的区别是什么?
1.四大作用域:Page,request,session,application
①Page的作用域范围:
用任何方式跳转到其他页面,Page的作用就会失效,page的作用域只在当前页面有效
②request的有效方式:
转发 用重定向跳转和标签跳转都会失效,因为request的作用域是一次请求
③session有效范围:
只在当前浏览器有效,换到其他浏览器或者关闭当前浏览器就失效
④application有效范围:
只要服务器开着才有效
Ⅱ.简述一下JSP的运行过程是什么? (初试JSP的PPT里面) JSP的加载过程,JSP的运行过程,JSP的编译过程?
①JSP的运行过程
②JSP的运行过程:
JSP是在HTML中嵌入了JAVA脚本
写法:先把JAVA脚本嵌入到JSP界面,接着JSP界面中就包含了HTML和Java代码两部分
再到服务器中进行编译然后进行执行,之后访问数据库再把这个结果返回给客户端
处理过程,Web容器处理经过三个部分
③JSP的编译过程:
翻译,编译,执行
因为源文件中是JSP,JSP包含HTML和JAVA,所以得先把Java部分翻译成".Java"文件,
然后再编译成".class"文件,最终执行
这就是JSP的运行过程和执行过程
Ⅲ.如果对JSP文件进行修改,Web容器会不会重新翻译跟编译呢?
会,只要重新修改了Java代码或者HTML代码,只要有变化就要重新翻译成新的JAVA文件才能够编译才能运行
Ⅳ.JSP跟Servlet有什么区别?
1.使用JSP页面时得把JAVA代码嵌入到JSP页面中,最终还得需要剥离出来
但是很多界面都是纯JAVA的,比如DO界面——处理页。
纯JAVA代码放在JSP页面显然不合适,所以Servlet应运而生
2.
在到达JSP页面之前有很多前置的数据要获取,获取前置数据也是纯JAVA代码,所以得到
Servlet里面去取,所以有两种Servlet,一种是to Servlet,一种是do Servlet,to是去页面之前,
do是处理页面。
共同点:JSP跟Servlet都可以接收客户端传来的数据,都是可以转发可以重定向。它们俩是可以做完全一样的工作,JSP页面更适合做页面展示,视图部分
如果把JAVA代码和前端代码都写在同一个JSP界面上不利于前后端分离
所以建议JSP页面做视图的展现,Servlet做复杂的逻辑处理
Ⅴ.JSP的九大内置对象以及九大内置对象所对应的JAVA类,每一个内置对象的含义是什么?
①Request
- 类:
javax.servlet.http.HttpServletRequest
- 含义: 表示HTTP请求,允许开发人员访问客户端发送的请求信息,如请求参数、请求头、会话信息等。
②Response
- 类:
javax.servlet.http.HttpServletResponse
- 含义: 表示HTTP响应,允许开发人员设置响应状态、响应头和响应体,从而控制发送到客户端的数据。
③Session
- 类:
javax.servlet.http.HttpSession
- 含义: 表示用户会话,允许开发人员跨多个页面请求跟踪和存储用户状态信息。
④Application
- 类:
javax.servlet.ServletContext
- 含义: 表示整个Web应用程序的上下文,允许开发人员访问应用程序级别的初始化参数、资源等。
⑤Config
- 类:
javax.servlet.ServletConfig
- 含义: 提供对JSP页面的初始化参数和ServletContext的访问。
⑥PageContext
- 类:
javax.servlet.jsp.PageContext
- 含义: 提供对JSP页面范围内的属性、其他隐式对象以及其他JSP功能的访问。它是访问其他内置对象的主要接口。
⑦Out
- 类:
javax.servlet.jsp.JspWriter
- 含义: 一个用于发送内容到客户端的字符输出流。开发人员可以使用它来写入响应体。
⑧Page
- 类:
java.lang.Object
(实际上是当前JSP页面被转换成的Servlet类的实例) - 含义: 表示当前JSP页面本身,即该页面的Servlet实例。它允许开发人员直接访问页面的属性和方法。
⑨exception
- 类:
java.lang.Throwable
- 含义: 仅在错误页面中可用,表示导致JSP页面出现错误的异常。它允许开发人员捕获和处理错误
Ⅵ.Servlet和Filter的区别分别有什么还有生命周期?
生命周期的共同点:都有init初始化,destroy销毁,
Servlet在什么时候被创建以及进行初始化?
第一次访问第一次调用init函数的时候
Servlet的生命周期是什么样的?
一开始先执行实例化,初始化init,接着调用Service方法,Service方法会决定调用doget或者dopost方法进行处理,处理完毕之后调用destroy进行销毁。
Filter的生命周期?
服务器一打开就自动调用自动初始化,生命周期包含初始化,过滤跟销毁,相比于Servlet来讲少了一个Service方法。它的过滤叫做doFilter方法。
什么是过滤器链?
作为一个整体的项目,肯定有多个过滤器。比如编码格式过滤,权限过滤,黑名单和白名单过滤。
一个一个过滤器往下走直到没有过滤器了才去访问真正的资源。
过滤器链的顺序为先进后出,先访问的先返回后访问的后返回。过滤器链会过滤两遍,一个是最快的请求会过滤掉,另一个是Response响应会过滤掉
Ⅶ.JSP中动态Include和静态Include有什么区别?
(Include动作跟Include指令有什么区别?)
指令是@^%@Input——使用Include指令导入,另外一种是^JSP Include。
Hent跟Botton导入方式不一样,一个用Include指令一个用Include动作,这两个另外的名字叫做
动态Include跟静态Include
区别:
他们会不会导入到同一个页面中同一个文件中?
代码题:
①Cookie跟Session的区别?哪一个更加安全?
Cookie,Session,Application全部要求代码写出来
Cookie的安全性较差
Ⅰ.登录成功之后如何把信息存到cookie?下次登录的时候如何从cookie中取出登录信息?
登陆的时候同时把信息存入session,登录的时候在线人数+1。这三点刚好涉及到cookie,session和education
先是获取,循环
先通过request.cookies获取到cookie的数组循环便利,取出每一个判断,跟当前值相等,就写欢迎您XXX
然后再是存入
先创建一个cookie,把Uname跟输入的值用Response写入进去
②JDBC
根据条件查询出集合,比如根据新闻的类型,新闻的时间或者根据员工的年龄和学生的性别查询出数据,查询出数据的字段。
界面展示用什么展示,用JSTL,无非就是考C,for,each
界面展示的时候是用数组,数组得用C for each 才能进行循环,还有另一个很重要的叫C if
For跟Cfor用来把查询到的数组展示到界面上