Servlet—基础

什么是Servlet?

1 . jsp经编译后就变成了Servlet.(JSP的本质就是Servlet,JVM只能识别java的类,不能识别JSP的代

码,Web容器将JSP的代码编译成JVM能够识别的java类)

 

2. jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.servlet控制器降低耦合性

 

3. Servlet中没有内置对象,Jsp中的内置对象都是必须通过HttpServletRequest对象,

HttpServletResponse对象以及HttpServlet对象得到.Jsp是Servlet的一种简化,使用Jsp只需要完

成程序员需要输出到客户端的内容,Jsp中的Java脚本如何镶嵌到一个类中,由Jsp容器完成。而

Servlet则是个完整的Java类,这个类的Service方法用于生成对客户端的响应。

 

JSP和Servlet的区别?

1.在JSP是在Servlet技术产生之后才产生的,为什么?

2.jsp在服务器经过翻译编译之后的java文件,其实是继承

org.apache.jasper.runtime.HttpJspBase类(编相应

的jspService方法,输出指定的html代码)

并实现了org.apache.jasper.runtime.JspSourceDependent

接口

3.HttpJspBase类其实也是继承HttpServlet类,所以说,JSP

本质上也和servlet一样继承自HttpServlet类。所以说

jsp本质上也是一个servlet,都运行在服务器端。

Servlet:是一个类,运行在服务器端,用来接受请求和响应请求

 

Servlet的使用

Servlet的应用步骤:

1:创建Servlet类,继承HttpServlet类,重写doPost()/doGet()方法

2:部署Servlet

a)编译Servlet到/WEB-INF/classes目录

b)编辑部署描述文件web.xml

3:通过浏览器访问servlet.

 

编辑部署描述文件web.xml

<servlet>

<servlet-name>MyServlet</servlet-name>//这里是servlet 的名字,自己定义 的

<servlet-class>Servlet </servlet-class>//这里是servlet的位置 。 如果在一个包下就写包名.类名,容器会从class的路径去实例化servlet。

</servlet>

<servlet-mapping>

<servlet-name>MyServlet </servlet-name>//跟上面的;servlet-name 必须一样

<url-pattern>/abc </url-pattern>//这是在地址 输入访问的时候 输入的,自己定义

</servlet-mapping>

 

<url-pattern>的三种配置方式:

 

 

 

 

 

Servlet的结构

Servlet接口 :定义了一些接收用户请求,处理用户请求的方法,Servlet自身的方法。

ServletConfig:每一个Servlet都对应一个ServletConfig 实例(实例作为init方法的参数传进去)里面是 关于Servlet的一些配置。

GenericServlet:实现了上面两个接口,但是并没有实现全部 的方法,所以还是一个抽象类。

HttpServlet :实现了GenericServlet的部分方法,所以HttpServlet也是抽象类,处理http协议的请求和响应

 

 

 

 

 

 

Servlet的请求

请求和响应的接口的继承关系

 

 

什么是请求的上下文路径?

要访问的项目的根目录的路径:localhost:6060/new2/

 

 

posted @ 2017-12-16 20:51  老人与JAVA  阅读(237)  评论(1编辑  收藏  举报