学习jsp必看的基础知识.doc

  • 格式:doc
  • 大小:79.50 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(-)根据servlet的语法规范,编写和编译基于服务器端的应用程序

1.建立包结构

2.弓| 入javax. servlet 和javax. servlet, httpservlet

3.继承Httpservlet 类

4.实现goGe t ()与doPos t ()方法

5.正确编译,形成servlet类文件

(%1)部署JavaBeans类文件和访问方法

1.方法一:部署目录:../webapps/ROOT/WEB-INF/ciasses/

访问方法:在URL中直接输入类文件名称,即http://127. 0. 0. l:8080/servlet

2.方法二:部署目录:部署在../webappor/aaaa/

访问方法:在URL中直接输入路径和类文件名称,即http://127. 0. 0. l:8080/aaaa/servlet

3.方法三:部署目录:部署在../webapper/aaaa/

利用web. xml文件的设置访问资源的技术方法,即加入代码:

ServletTest

pachage_name. Serv1et_class_name

ServletTest

/testing

访问方法:在URL中直接输入规定的命名策略,即http://127. 0. 0. l:8080/aaaa/testing

(%1)根据servlet类文件的结构特征,利用JSP技术实现交互式访问程序设计。针对性地练习指导文件中的相关实例。

1.建立servlet文件的基本结构

(A)理论方法

public class My_servlet extends HttpServlet ( public void init(ServletConfig config) throws

ServletException {super, init(config);}

public void service(HttpServletRequest reqest, HttpServletResponse response) throws lOException (method entity ); } }

(B)工程方法

public class My_servlet extends HttpServlet ( public void init(ServletConfig config) throws

ServletException (super, init(config);}

public void doGet(HttpServletRequest reqest, HttpServletResponse response) throws lOException (method entity );}

public void doPost(HttpServletRequest reqest,HttpServletResponse response) throws lOException doGet (..));} }

2.利用JSP访问servlet文件的基本方法

<%@ page contentType=*text/html:charset=GB2312/r %>

3.实现基于HTTP协议的doGet ()、doPost ()方法编程技术

public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, lOException { method entity. •.}

public void doGet(HttpServletRequest request, HttpServletResponse response) throws

ServletException, lOException(

doPost(request, response); }

4.显示servlet交互处理计算的访问结果

利用out. printin (〃…..〃);语句,结合html标签语句实现之。

Servlet的工作流程

接收客户端发来的显式数据(form data)

同时也读取客户端发来的隐藏数据(HTTP request headers)

生成结果

支持HTML格式向客户端发送显式数据

同时也通过状态代码(HTTP status codes)和响应头(HTTP response headers)向客户端发送隐藏数据

1容器收到一个请求,把Servlet装入内存

2容器调用Init ()方法,开始Servlet生命周期

3 servlet ()方法提供线程,开始响应用户请求

4.Servlet 线程 1 Servlet 线程 2 .. Servlet 线程n

5容器结束Servlet调用destroy 0方法

Respons

扩展HttpServlet 类

格式:

publie abstract void service(

IlttpServletRequest request,HttpServletResponse response)

throws ServletException, lOEexception; ()

说明:

HttpServletRequest获取HTTP请求方式、参数名及值、客户端协议、远程主机等信息,以确定调用相应的方法。

HttpServletResponse返回响应信息,设置返回数据长度、MTEM类型、提供ServletOutStream等该方法由

HttpServlet类己经实现,用户无需实现。

程序中需要实现用户HttpServlet类的两个方法doGet ()和doPost ()

servlet生命周期实例化:首次请求servlet服务时,需实例servlet对象初始化:容器调用实例的init ()方法服务:若有访问提交请求要给servlet,容器调用servlet实例的service()方法每个请求分配为一个线程,而不是创建新的servlet对象----------------消亡:对实例的消亡处理,容器调用servlet实例的destroy()方法一不可逆回:实例被删除

步骤1. Servlet程序的主体结构

init ()设定servlet程序初始值。用途类似applet的init ()

service ()当服务器收到用户的request时,服务器则调用service ()

- service ()根据HTTP request的请求格式(GET、POST等),调用相应的方法:

doGet ()接收GET格式的request,并返回结果。

doPost ()接收POST格式的request,并返回结果。另外尚有doPut、doDelete等(),但较少用•service ()需要处理request到doxxx()的任务,间接继承之。

•APT要求HTTPservlet程序需要重写doGet及doPost方法,提高运行效率

destroy。终止servlet服务时执行.Servlet直接继承此方法,无须重写

用于应答的API: ServletResponse 接口

public void setContentType(String type)

设置响应的MIME 类型如:respons e. setContentType ( "text/html” );

public ServletOutputStream getOutputStream()

获得一个ServletOutputStream对象,用于在应答中写入二进制数据。

public java. io. PrintWriter getWriter () 获得一个PrintWriter 对象,用于在应答中发送字符流比如:PrintWriter out = response. getWriter (); out. println( u .... ”);

用于应答的API: HttpServletResponse 接口(续)

HttpServletResponse 接【]继承Servl etResponse 接I I

public void sendError(int status)设置状态码

例:response. sendError (404);

则当执行到该代码时,会转到一个错误信息处理页面:资源文件目标丢失(404错误)。