1、 Http全称叫什么?有什么特点?端口号是多少?
答:超文本传输协议。
特点:1.支持客户/服务器模式。
2.简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。
由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3.灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4.无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5.无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
端口号默认是:80.
2、HTTP处理流程是怎么样的?
答:建立连接-->客户端浏览器发送请求信息--->web服务器解析请求并找到相应的资源将文件以及其它信息组成HTTP响应返回客户端-->关闭连接。
3、HTTP请求信息和响应信息包括哪些内容?
答:HTTP请求信息由3部分组成:
请求方法URI协议/版本
请求头(RequestHeader)
请求正文
HTTP响应
HTTP应答与HTTP请求相似,HTTP响应也由3个部分构成,分别是:
状态行
响应头(ResponseHeader)
响应正文
在接收和解释请求消息后,服务器会返回一个HTTP响应消息。
状态行由协议版本、数字形式的状态代码、及相应的状态描述,各元素之间以空格分隔。
格式:HTTP-Version Status-Code Reason-Phrase CRLF
4、Web服务器的缺陷是什么?
答:因为web服务器是被设计用来向客户端提供HTTP服务的,它只能向客户端提供静态的网页内容,不能创建动态服务器端内容。
5、什么是辅助应用?CGI有什么缺陷?Java的解决方案是什么?
将客户端请求信息处理后以数据库为介质,处理结果,完成动态响应。
答:CGI称为通用网关接口,它是辅助应用的一种解决方案。可以用多种语言编写。当客户端向服务器发送请求后,会开启外部程序来处理该请求。由于每个外部程序是进程,每次开启都会占用独立 内存空间。所以,会极大的耗费服务器的内存资源,也不能接收太多的消息。
JAVA是利用web容器+servlet方式实现辅助应用。由web容器做一些底层操作,比如,流的解析,线程的控制,数据的封装等。同时,预留Servlet接口,交给开发者书写业务逻辑。这样开发者就可以将主要精力放在业务实现上,而不是为底层操作编写代码。同时,web容器利用多线程解决多任务,可以同时接受更多请求。
6、Web容器对servlet支持包括哪些?
答:Web容器负责管理和运行Servlet
容器对Servlet的支持包括
通信支持(将请求信息和响应信息封装成请求对象和响应 对象)
Servlet支持(产生Servlet和销毁Servlet,并调用 servlet相关的方法)
多线程支持(线程创建、线程启动、线程运行、线程同 步)
JSP支持(jsp引擎编写)
处理安全性
7、Java Web应用程序目录结构是怎么样的? 要求能默写web应用的组成
WEB-INF目录中的内容是不能被客户端直接访问的,存放一些比较隐秘信息
WEB-INF------------------------------classes 开发者书写业务编译生成的class文件
---------------------------lib 用于存放web应用小很虚中所使用的jar文件
--------------------------web.xml 用于web组件的注册
*.HTML
WEB应用程序
*.JPG
*.CSS
*.JS
8、WEB-INF的作用是什么?
答:WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录。
9、Tomcat结构是怎样的?
bin用于存放tomcat中的可执行文件,其中startup.bat用于启动,tomcat.shutdown.bat用于关闭tomcat。
Tomcat
conf:存放tomcat的配置文件。其中server。xml用于tomcat服务器相关的配置。web.xml用于tomcat 中web应用相关的配置。
Server.xml
<connectorport="8088" protocol="HTTP/1.1">
描述tomcat启动端口
<hostappBase="webapps" unpackWARS="true">
appBase 描述tomcat中存放web应用程序的目录
unpackWARS当web应用程序目录中有war文件,则自动解压。
lib:用于存放tomcat运行时所使用的jar包。其中servlet-api.jar是tomcat根据Servlet规范提供 的实现类,所生成的jar文件
生成的jar文件
Logs:用于存放日志文件
web服务器、web容器和web应用服务器的区别:
web服务器主要作用于开启服务器,监听服务器,接收请 求、产生响应,只是只能产生静态html响应信息,极大 影响响应信息灵活性。
web容器是辅助应用的一种解决方案。允许将请求信息处 理完成后,动态产生响应信息。
web服务器+web容器,合称web应用服务器。
HTTP 协议
Logs:用于存放日志文件
temp:用于存放临时文件
Webapps:用于存放和部署web应用程序的目录
work:用于jsp支持
10、书写servlet的API类架构。
11、书写servlet类文件、web.xml文件。要求记忆。
12、如何解决输出中文乱码问题,如何解决请求表单数据的乱码问题?
设置相应信息的MIME类型和编码集
resp.setContentType("text/html;charset=utf-8");
设置请求信息的编码集,支队POST有效
req.setCharacterEncoding("utf-8");