Servlet(1)

一, Web服务器的历史

   

CGI(common gatewayinterfact)

Cgi模式


Cgi模式的特点,是将服务端的动态资源基于进程方法来运行。由于进程的执行非常耗费时间,且内存空间浪费。所系效率及其低下。

FastCGI

所谓的fastCGI的模式其实就是在当前的CGI模式中添加的了一个pooling的概念,在服务器启动时初始化固定的进程来提高处理客户端请求的速度,但是该方法治标不治本。

二,servlet技术的特点


与传统的CGI模式不同,servlet运行模式更改为单进程多线程的模式。

       单进程:服务器

       多线程:服务端的servlet

三,servlet的继承结构

四,Http协议

1,  单向性:只有发送请求了,才会有相应产生。

2,  无状态:协议本身并没有状态的记录,当客户端多次访问服务端时,服务端并不会知道       你曾经访问过他。

基于http协议我们能够采用哪些方式来发送请求呢?

DOGET

DOPOST

DOHEAD

DODELETE

get与post区别:

1.get方式提交表单表单中的数据会在地址栏中显示。而post方法则不会。

2.get方式提交表单长度是有限制的512字节,而post理论上是无限的。

3.get方式提交表单会在http数据包中的第一行出现,而post在空一行的body中出现

4.get方式永远是已字符方式提交。而post既可以已字符也可以已字节。


五,http数据包

get

post


六,手动编写第一个servlet

1,编写servlet代码

1)你的servlet必须要继承HttpServlet。在你的servlet中添加doGet或者是doPost。

2)doGet或者是doPost方法中都会含有两个入参:

HttpServletRequest

HttpServletResponse

3) 该方法需要抛出两个异常:

IOException

ServletException

4)通过HttpServletResponse对象获取向客户端输出的字符流对象

PrintWriter pw = response.getWriter();

5)通过调用PrintWriter中的printl方法完成内容的输出

6)导包:

我们需要将

HttpServlet,HttpServletRequest,HttpServletResponse,IOExcetpion.ServletException这些对象的包import进来

import javax.servlet.http.*;

import java.io.*;

import javax.servlet;

7)你的servlet至少需要在一个包下(切记)

Package com.bjsxt;

8) 编译你所写的servlet。在编译时需要注意,由于我们的servlet中时用到了javaEE平台下类。所以需要指定javac去什么位置找相应的类库。

9) 将编译好的servlet的class文件部署容器中。

 1.需要在webapps目录下建立一个目录

2,在项目的目录中必须要包含一个名称为:WEB-INF的目录

3在WEB-INF的目录中 必须包含一个classes目录

4.按照servlet中所定义的正确的包名来建立目录,将class文件拷贝到相应的目录中。

5.需要在WEB-INF的目录中与classes目录同级建立一个名称为web.xml的文件

Web.xml:项目部署描述文件。在该文件中配置servlet的相关信息。

6.编写web.xml完成对servlet的配置。需要配置两个节点

<servlet>

<servlet-mapping>

详细配置如下

<servlet>

             <servlet-name>suibian</servlet-name>

             <servlet-class>com.bjsxt.HelloWorld</servlet-class>

      </servlet>

      <servlet-mapping>

          <servlet-name>suibian</servlet-name>

             <url-pattern>/suibian.do</url-pattern>

       </servlet-mapping>

<servlet-name>:给servlet起个别名,叫什么都行。只要在同一个web.xml中不重复就可以。

<servlet-class>:配置当前 给哪个servlet起别名的servlet的全名。

<servlet-mapping>:配置servlet与uri的映射

<servlet-name>为哪个servlet中的servlet做uri的映射配置

<url-pattern>:为这个servlet所配置的访问的uri是什么.注意:必须uri中必须要含有/

2,运行servlet

只要启动tomcat,在客户端浏览器中输入为servlet所配置的uri就可以访问了





 







猜你喜欢

转载自blog.csdn.net/silence_hv/article/details/80679479
今日推荐