java servlet 开发_Java之基于Servlet的Web开发简介

由于学习的过程中,接触到了这部分内容,所以特别的在这进行整理,分享给大家。

1、定义

Servlet是Java Servlet的简称,称为小服务程序或服务连接器;

2、原理

从原理上讲,Servlet可以响应任何类型的请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议的Web服务器。Servlet是Java

Servlet API开发的一种Java类,这些API被包含在javax.Servlet和javax.Servlet.http这两个包中。Servlet程序在服务器端运行,动态地生成Web页面。

2ced274a766c04be891e28182c259b82.png

3、优点

与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,具有更好的可移植性,更加高效。

4、JSP与Servlet的关系

可以说JSP的实现是基于Servlet的,当JSP容器接到一个JSP页面请求之后,首先会判断与JSP文件相对应的Servlet类的名字

①如果不存在或者比较陈旧,那么容器就会重新创建一个等价的Servlet类并且进行编译。

②如果存在的话,那么服务器就会编译Servlet类,并且自动加载形成Servlet实例,并且将执行结果返回到客户端。

5、Servlet的生命周期

0517515a6e5a90fa26de3d82b9255756.png

①public voidinit() throws ServletException {    }

//初始化,init方法只调用被一次。它在第一次创建Servlet时被调用,在后续每次用户请求时不再调用。因此,它是用于一次性初始化。

②public voiddoGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }

//对Get方法请求响应服务,GET请求来自于一个URL的正常请求,或者来自于一个未指定METHOD的HTML表单,它由doGet()方法处理。

③    public voiddoPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {    }

//对Post方法请求响应服务,POST请求来自于一个特别指定了METHOD为POST的HTML表单,它由doPost()方法处理。

④public voiddestroy(){    }

//销毁,destroy()方法只会被调用一次,在Servlet生命周期结束时被调用。destroy()方法可以让您的Servlet关闭数据库连接、停止后台线程。

6、Web.xml配置

一个Tomcat工程中最重要的配置文件。

web.xml没有其实也可以——————只要你确定你的项目里面不需要任何过滤器、监听器、Servlet等等。

[code] //web-app定义该文档的根元素。

firstServlet

//用来定义servlet的名称,该名称在整个应用中必须是惟一的。

servlet.HelloServlet

//用来指定servlet的完全限定的名称。

firstServlet

//Servlet的名字,唯一性和一致性,与元素中声明的名字一致。

/hello

//指定相对于Servlet的URL的路径。该路径相对于web应用程序上下文的根路径。

//将URL模式映射到某个Servlet,即该Servlet处理的URL。

7、Servlet的主要用途——处理客户请求与响应

HttpServletRequest接口-------------javax.servlet.http.HttpServletRequest接口类型的对象对应JSP中的request内置对象。

常用方法:

[code]

public String getParameter(String param);

//获得客户机请求参数,获取指定名称的参数值

public String[] getParameterValues(String param);

//获取指定名称参数的所有值数组。它适用于一个参数名对应多个值的情况。如页面表单中的复选框,多选列表提交的值。

public void setAttribute(String attname,Object o);

//在JSP内置对象session和request都有这个方法,这个方法作用就是保存数据,然后还可以用getAttribute方法来取出。

public Object getAttribute(String attname);

//取数据

HttpResponse接口---------javax.servlet.http.HttpResponse接口类型的对象对应JSP中的response内置对象。

常用方法:

[code]public void setContentType(String contentType);

//在响应中可以表明内容格式和长短。

public void sendRedirect(String url);

//发送一个临时的重定向响应到客户端,让客户端访问新的URL。

//如果指定的位置是相对URL,Servlet容器在发送响应到客户端之前,必须将相对URL转换为绝对URL。

/如果响应已经被提交,这个方法将抛出IllegalStateException异常。

ServletConfig接口--------------javax.servlet.ServletConfig接口类型的对象对应JSP中的config内置对象,用于在Servlet初始化时向Servlet传递一些信息。

定义:ServletConfig config = this.getServletConfig();

常用方法

[code]public String getInitParameter(String paraname);

//从web.xml中获取参数。

ServletContext接口-------------javax.servlet.ServletContext接口类型的对象对应JSP中的application内置对象。

定义:ServletContext app = this.getServletContext();

常用方法

[code]public void setAttribute(String attname, Object o);

//存放数据,例如:setAttribute("wg","666"),

//表示存放了一个属性名为wg,属性值为123的数据,

//如果再次调用该方法,并向容器中存放了相同的属性,最后存的会覆盖以前存的。

public Object getAttribute(String attname);

//取出指定属性名的数据,包括属性名和属性值,

//参过name指定的数据不存在,则本方法什么都不做。

关于Servlet的内容暂时介绍到这里!

谢谢大家!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值