jsp和servlet重点记录知识点
- 格式:doc
- 大小:33.00 KB
- 文档页数:3
1.什么是servlet?
是用java编写的服务器端的程序,它的作用就是接受请求和返回响应
2.Tomcat 的目录结构
bin 存放启动和关闭tomcat脚本文件
conf 包含不同的配置文件,server.xml(Tomcat的主要配置文件)和web.xml
work 存放jsp编译后产生的class文件
webapps 存放应用程序示例,以后你要部署的应用程序也要放到此目录
logs 存放日志文件
lib 这个目录主要存放tomcat所需的jar文件
3Servlet的编写顺序
0)package为servlet打包
1)导入 java.io javax.servlet.* javax.servlet.http.*
2)继承自HttpServlet
3)复写doGet,doPost方法
4)配置web.xml文件
4.Web应用程序的目录结构(webapps)
HTML.JSP等 WEB—INF (classes lib web.xml)
5.Servlet的生命周期的三大阶段
1)初始化部分
2)可执行
3)销毁
6.Servlet的执行流程
1)通过浏览器向服务器发送请求
2)服务器接收请求,通过容器调用(部署描述符)web.xml中的url-pattern进行请求路径查找,
url-pattern通过servlet-name查找servlet的路径名称
3)创建servlet对象(构造方法)
4)调用init()方法让servlet进行初始化状态(init方法只开始时执行一次,再次调用时不执行)
5)调用doGet或doPost方法进入可执行状态(如果发生异常,则进入不可执行状态)
6)执行destroy方法,对servlet进行销毁操作
7.doGet和doPost的区别
1)doGet 方法可以通过浏览器访问,也可以form 表单进行提交(method 的属性get 请求)注意:
超链接也是get 请求
doPost 只能通过form 表单提交发送请求(method 的属性post 请求)
2)doGet 方法传输信息都显示在地址栏上,具有不安全性。doPost 方法比较安全。
3)doGet 请求数据传输时候,容量上有限制,只允许数据位1-4kdoPost 数据传输容量上没有限制
4)doGet 请求传输效率比较高,速度比较快,在进行一些要求效率较高软件应用时,建议使用doGet
8.普通转码和万能转码之间的关系(先回答普通转码和万能转码的写法)
1)普通转码(request.setCharacterEncoding("gb2312"))进行转码后,以下的所有代码都进行转译,
只能应用于post 请求
2)万能转码 (new String((String类型的字符串).getBytes("iso-8859-1"),"gb2312"))可以应用于
doGet doPost 的所有方法中都可使用,每次只能转换一个
9.服务器端和客户端跳转的区别
客户端跳转和服务器端跳转区别:
1.地址栏的变化
客户端跳转,指定的是最终跳转路径
服务器跳转,指定的是第一次请求的路径
2.客户端二次请求,二次响应
服务器端一次请求,一次响应
3. 客户端跳转来说,在进行跳转过程中,会新创建requset/response对象,执行资源重定向,如
果发送请求(servlet)调用doGet方法,不能通过setAttribute()和getAttribute()方法进行值传递
服务器端跳转则一直应用原来的request/response对象,并且进行request/response对象的传递,
如果发送请求(servlet)会发送doGet请求,但是调用doPost方法,能通过setAttribute()和getAttribute()
方法进行值传递
10.session,application对象的创建写法
HttpSession session=request.getSession()
ServletContext application=request.getSession().getServletContext()
jsp牢记知识点
1.什么是jsp?
(java的服务器端页面脚本程序)
2.常用的page指令的写法?(三种:1.导入类包 2.错误页 3.页面字符集设置)
1设置导入类包
<%@page import="java.util.*"%>
2.错误页
<%@page errorPage=“error.jsp”%>
3设定页面编码方式,用于处理页面乱码问题
<%@page contentType="text/html;charset=gb2312"%>
3.静态包含和动态包含的区别?(先答静态包含和动态包含的写法)
<%@include file="url"%>
静态的包含页面:不管其文件内容如何只是将页面中的内容包含进来
执行时:先将内容合并在一起编译,运行合并后的内容并把结果返回给客户端
动态包含页面:能自动区分所包含的是静态页面还是动态页面
执行时:分开编译各自的内容,分开运行各自的内容,最后把结果合并返回给客
户端
4.jsp的九大内置对象以及其作用域?
九大内置对象:(可以直接引用)
request 作用域:request一次请求的开始到一次请求的结束
response 作用域:page代表当前页面
pageContext 作用域:page代表当前页面
session 作用域:session一次会话的开始到一次会话的结束(一般时候存个人信息)
application 作用域:application服务器的开始到服务器的关闭(共用信息)
out 作用域:page代表当前页面
config 作用域:page代表当前页面
page 作用域:page代表当前页面
exception 作用域:page代表当前页面