Servlet-第一节
--------------------------------------------------------------------------------------------------------------------------------------------------
一、Servlet的映射路径有哪些?
精确映射:/abc 客户端只能以/abc访问servlet
扩展映射:*.do 客户端以.do结尾的请求都能访问servlet
路径映射:/abc/* 客户端以/abc/开始的请求都能访问servletcss
二、描述Servlet的生命周期,熟练掌握
一、启动tomcat,读取conf/server.xml,肯定启动端口和web应用程序存放目录
二、读取并解析每一个web应用程序的web.xml文件,以肯定web组件的注册信息,一旦有一个web应用程序的web.xml文件书写有误,会致使解析失败,抛出异常。
三、加载并实例化servlet。若是在注册servlet时,加入了<load-on-startup>标签,并该标签的值为正数,表示容器启动就实例化。不然,第一次访问servlet实例化。
四、调用init()完成初始化。
五、请求到达时,调用service()完成业务操做
六、销毁阶段,调用destroy()完成资源清理。html
三、ServletConfig和ServletContext的做用。
ServletConfig是配置接口,利用该接口对象的getInitParameter()能够获得该servlet的初始化配置信息。
ServletContext是全局对象。主要做用有三个:一、读取<context-param>全局参数
二、能够将虚拟路径转化为物理路径
三、能够绑定对象在全局共享java
四、如何定义Servlet的初始化参数?Servlet的初始化参数如何获取?
<servlet>
<init-param>
<param-name></param-name>
<param-value></param-value>
</init-param>
</servlet>
ServletConfig对象.getInitParameter();web
五、如何定义Servlet的全局参数?Servlet的全局参数如何获取?
<web-app>
<context-param>
<param-name></param-name>
<param-value></param-value>
</context-param>
</web-app>
ServletContext对象.getInitParamter()数据库
六、如何获得web应用中文件的真实路径。
ServletContext对象.getRealPath("/img/ss.jpg");数组
七、如何绑定和获取全局共享对象?
ServletContext对象.setAttribute("键",共享对象);
ServletContext对象.getAttribute("键");获得共享对象浏览器
八、状态码有几种?各表明什么含义。
1开始:请求在进行中
2开始:请求成功
3开始:表示资源移走,请求新的地址
4开始:客户端引起的异常
5开始:服务器引起的异常tomcat
九、响应头如何设置?
response.setHeader("键","值");安全
十、响应信息消息体的形式有哪些?
一、向客户端发送文本数据。response.getWriter()
二、向客户端发送二进制数据。response.getOutputStream();服务器
十一、建立学生表t_student,字段:学号、姓名、电话、生日
建立查询所有的Servlet,以表格方式显示所有数据。
在每一行中,添加删除超连接,点击后,能够按学号删除学生。
在每一行中,添加修改超连接,点击后,显示学生信息,并能够修改该学生的电话。
Servlet-第二节
--------------------------------------------------------------------------------------------------------------------------------------------------
一、Http全称叫什么?有什么特色?端口号是多少?
http全称叫超文本传输协议。特色:遵循请求/响应模型。无状态的协议。端口:80
二、HTTP处理流程是怎么样的?
一、客户端和服务器创建链接
二、客户端发出请求
三、服务器产生响应
四、关闭链接
三、HTTP请求信息和响应信息包括哪些内容?
请求信息:请求行、请求头,空行,消息体
响应信息:状态行、响应头、空行、消息体
四、Web服务器的缺陷是什么?
传统的Web服务器只能产生静态的html页面,极大影响响应信息的灵活性。
五、什么是辅助应用?Java的解决方案是什么?
辅助应用是为了解决Web服务器缺陷而产生的。辅助应用容许服务器在接收到请求信息之后,进行相关的业务操做,并动态产生响应信息。java的解决方案是Web容器+Servlet。
六、Web容器对servlet支持包括哪些?
一、通讯支持 二、Servlet生命周期管理 三、多线程支持 四、jsp支持 五、处理安全性
七、Java Web应用程序目录结构是怎么样的?
在根目录或根目录的子目录,存放能被客户端直接访问的资源,好比:图片、css文件、html、js文件。在根目录下须要提供WEB-INF目录,该目录存放比较隐秘的信息。该目录下的资源不能被客户端直接访问。在WEB-INF目录中,有classes目录存放开发者编写的类生成class文件;有lib目录存放第三方的jar包。web.xml文件用于web组件的注册。
八、WEB-INF的做用是什么?
九、Tomcat结构是怎样的?
bin:存放可执行文件
conf:存放配置文件
lib:存放tomcat运行时须要使用的jar包
logs:存放日志文件
temp:存放临时文件
webapps:存放web应用程序
work:对jsp作支持
十、servlet的类架构是怎样的?
按照Servlet规范,Servlet为业务接口,提供service方法由开发书写业务操做。ServletConfig为配置接口,提供Servlet的初始信息。因为两个接口方法较多,因此提供了适配器类GenericServlet。对两个接口的大部分方法作了简单的实现。但没有实现service()。该方法由它的子类根据自身协议的特色作实现。HttpServlet根据Http协议重写了该方法,根据不一样的请求方式,调用doXX()。
十一、servlet如何注册?要求熟练掌握
<servlet>
<servlet-name>ddd</servlet-name>
<servlet-class>类全路径</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ddd</servlet-name>
<url-pattern>/aaa</url-pattern>
</servlet-mapping>
十二、如何解决输出中文乱码问题,如何解决表单数据的乱码问题?
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
1三、编码题:
表结构:id userName sex age
完成一个servlet,访问该servlet并查询数据库。输出一个表中全部的记录内容。书写一个网页,创建表单,当用户在表单中输入姓名,能够按姓名模糊查询数据库的内容
Servlet-第三节
--------------------------------------------------------------------------------------------------------------------------------------------------
1.重定向的工做流程。
客户端向服务器发出请求,Servlet调用response.sendRedirect()。重定向到指定资源。产生响应时,会产生302状态码,同时产生location响应头。在location响应头中指明资源的路径。客户端在接收到响应信息后,发现是302状态码,会读取location响应头,再向服务器发出第二次请求
2.http请求协议中包含哪几部份。
请求行,请求头,空行,消息体
3.如何得到请求头
request.getHeader("");
4.解释get请求和post请求的区别,哪些请求是get,哪一种是post.
get与post的区别:
一、流格式的区别 get请求信息分为请求行,请求头,空行。 POST请求分为请求行,请求头,空行,消息体。
二、用途的区别 get主要用于资源的查找。POST方式主要用于数据的传输。
三、传输性能的区别 get方式只能传输文本数据,不能传输大数据,表单数据会显示在浏览器地址栏,不安全。
post方式能够传输文本和二进制数据。能够传输大数据,表单数据不会显示在浏览器地址栏,相对安全。
5.request对象如何获取表单数据.
getParameter(),返回字符串类型,根据键获得值。若是有多个同名键值对,只能返回第一个值。
getParameterValues,返回字符串数组,根据键,获得该键对应的全部值。
六、在商品项目中,完成批量删除。在每一行中添加复选框,向服务器传入须要删除商品ID,在服务器建立servlet完成批量删除后,请求转发到显示所有的servlet。