Servlet初步认识(一)

1.什么是Servlet呢?

简单来说Servlet是sun公司(该公司目前已经被甲骨文收购)制订的一种用来扩展web服务器功能的组件规范。

所谓的扩展web服务器功能,就是web服务器(比如apache web server)只能够处理静态资源的请求,不能够处理动态资源的请求,所以需要扩展。在早期的开发中一般使用CGI程序来进行扩展,不过开发起来复杂,并且移植性不好。(注:CGI[Common Gateway Interface]通用的网关接口,可以使用perl,c等语言来开发符合CGI接口标准的程序。)所以目前开发中一般不使用CGI程序。

组件规范:组件就是符合一定规范,实现部分功能,需要部署到相应的容器【容器:符合一定规范,提供组件的运行环境的程序。】里面才运行的软件模块。

2.如何写一个Servlet?

step1:写一个java类,实现Servlet接口或者继承HttpServlet抽象类。

step2:编译

step3:打包(打包成组件),

创建一个具有如下结构的文件夹:

appname(应用名称)

WEB-INF

classes(放字节码.class文件)

lib(可选,放.jar文件)

web.xml(部署描述文件)

step4:部署

将step3创建好的文件夹拷贝到容器。

注:也可以将step3创建好的文件夹使用jar命令压缩成一个以".war"为后缀的文件。

step5:启动容器,访问Servlet

3.使用myeclipse做一个简单的Servlet

step1:启动myeclipse

step2:集成tomcat

step3:创建一个web工程

4.Servlet是如何运行的?

访问的地址一般遵循:http://ip:port/appname/url-pattern

step1:浏览器依据IP,port建立连接。

step2:浏览器将相关数据打包(按照http协议),然后将请求数据包发送给服务器。

step3:容器解析请求数据包,并且将解析得到的数据封装到request,同时,还会创建一个response对象。

step4:容器创建Servlet对象,然后调用该对象的Service方法。

注:在service方法里面,可以通过request对象来获得请求参数,然后将处理结果写到response对象里面。

step5:容器从response对象当中获取处理结果,然后打包(响应数据包),最后将这个数据包发送给浏览器。

step6:浏览器解析响应数据包,生成相应的页面。

5.常见错误

1)404(404是一个状态码)

注:状态码是一个三位数字,用w3c定义,表示服务器处理请求的一种状态。

1)含义

服务器依据请求地址找不到相应的资源。

2)错误原因

a.应用没有部署

b.<servlet-name>不一致

c.没有按照以下格式书写请求地址(注意区分大小写)

http://IP:port/appname/url-pattern

2)500

1)含义

系统出错

2)错误原因

a.类写得不规范

比如没有继承HttpServlet

b.<servlet-class>写错

c.程序运行出错。

比如,对请求参数没有做检查,就做强制转换。

3)405

1)含义

找不到处理的方法。

2)错误原因

service方法没有严格按照要求来写,

要检查方法的返回类型,参数类型,异常类型和方法名。

时间: 2024-10-10 23:14:38

Servlet初步认识(一)的相关文章

Servlet初步

@WebServlet("/HelloServlet") public class HelloServlet extends HttpServlet {     private static final long serialVersionUID = 1L;          protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IO

J2EE学习笔记02 Server.xml知识点及Servlet初步

内容概要: 1.继续讲解server.xml中的一些设置知识点 2设置外部WEBAPP及使用根目录开发 3.重头戏Servlet及相关知识 关键词: TomCat,web.xml,connectionTimeout="20000" ,appBase = "webapps",线程池配置,servlet版的HelloWorld 详细内容: 一.继续讲解server.xml中的一些设置知识点 接下来,我们还是看我们的TomCat. 我们上节课呢,我们开发了myweb,我们

对于servlet初步理解

Servlet在MVC框架中经常担当控制器(Controller)的角色,其作用类似于调度员,下面我们就根据一个简单JavaEE的示例来理解Servlet的机制和原理. 树结构如上,其中 login.jsp作为测试用户登录页面. welcome.jsp作为登录成功页面 DaDao.java作为数据库操作类 LoginServlet.java就是我们所说的Servlet类 我们来看具体内容: login.jsp <%@ page language="java" contentTyp

servlet初步认识

一.http协议 超文本传输协议: 浏览器往服务器发送 ---- 请求 服务器往浏览器回写 ---- 响应 1.请求:(request) 1)请求行:请求信息的第一行 格式:请求方式 访问的资源 协议/版本 egg:GET /myhtml.html HTTP/1.1 请求方式:get和post get会把参数放在url的后面 post不会 get参数大小有限制,post请求却没有限制 get请求没有请求体;post请求有请求体 请求参数放在请求体中 2)请求头:请求信息的第二行到空行结束 常见的

java web入门-servlet初步

Java web三大组件:Servlet.Filter.Listener. servlet是单例的,一个对象只会有服务器创建一个对象. 每个servlet必须实现javax.servlet.Servlet接口 实现servlet接口的三个方式: 实现javax.servlet.Servlet接口 继承javax,servlet.GenericServelet类 继承javax.servlet.http.HttpServlet类 servlet接口五个方法: public void init(Se

web学习笔记-servlet

web学习笔记-servlet 概念 servlet是一个小应用程序,用于处理从客户端发送的请求及服务端的响应. 详情参见: 百度百科的定义 在idea创建servlet 在src右键新建servlet,如图所示: 然后会报异常可以下载包,也可以添加tomcat中的包,添加tomcat->lib-->servlet-api.jar作为libraries. 然后再打开web.xml此时会发现多出一个servlet标签 ServletDemo1 servelt.ServletDemo1 "

简单BBS项目

项目的基本要求: 掌握递归 掌握JavaScript+html+css+jsp+servlet初步应用 掌握分页写法 初步掌握前台/后台的概念 简单的功能需求: 1.能够树形展现 2.能够平板型展现 3.能够回复帖子 4.后台能够管理帖子,如:删除 <1.新建项目:右键new/project/Dynamic Web Project,项目名称为BBS,配置tomcat. <2.设计数据库的表:保留建表的语句到项目中,在项目new/folder然后引入bbs.sql: *****bbs.sql**

HttpClient_001_初步实现项目01的servlet,与项目02的servlet,之间数据访问

HttpClient_001_初步实现项目01的servlet,与项目02的servlet,之间数据访问 代码下载地址: http://download.csdn.net/detail/poiuy1991719/8594485 项目01: URLUtil类: package com.west.test.httpclient; /** *01:定义访问路径 *com.west.test.httpclient.PostServlet */ public class URLUtil { public

JSP初步总结

我们知道,JSP是一种动态网页技术,并且它是服务器端技术,浏览器不能直接显示.我们还是从传统认识一个新事物的三个步骤来讲:     1.What?     JSP是SunMicrosystems公司倡导.许多公司参与一起建立的一种动态网页技术标准.它是Java Server Pages的简称.JSP技术有点类似ASP技术,它在传统的网页HTML文件中插入了Java程序段和JSP标记,从而形成了JSP文件.看到这里我们可以有个初步的了解,JSP=HTML+Java+标签,说白了就是在HTML代码中