servlet技术初步入门

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020/6/231Servlet技术初步入门主讲:周立波2020/6/232Servlet简介在WEB服务器端运行的JAVA程序处理HTTP请求Web服务器Web浏览器J2eeWeb容器J2eeWeb容器(Servlet)Web应用程序HTTP请求HTTP响应2020/6/233Servlet优点执行效率高支持多线程功能强大直接和服务器交互,在多个程序间共享数据可移植性非常好纯JAVA开发,跨平台运行技术成熟Servlet提供了大量的实用2020/6/234第一个Servlet程序packagecom.isoftstone.edu.servlet;importjavax.servlet.*;importjavax.servlet.http.*;publicclassHelloWorldextendsHttpServlet{publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{response.setContentType(text/html);System.out.println(HelloWorld);PrintWriterout=response.getWriter();out.println(“HelloWorld!);}}2020/6/235建立Servlet开发环境使用Servlet2.4版本在类路径中指定Servlet-api.jar文件Classpath=X:\..\Servlet-api.java编译HelloWorld.javajavaccom\isoftstone\edu\servlet\HelloWorld.java2020/6/236发布Servlet程序到服务器上在Tomcat服务器安装目录的WEBAPPS中建立HelloWorld目录在HelloWorld目录中建立一个文件夹和一个xml文件\WEB-INF\\WEB-INF\web.xml将编译后的HelloWorld.class文件连同文件夹一起拷贝到WEB-INFO目录中的classes目录中2020/6/237web.xml配置文件?xmlversion=1.0encoding=UTF-8?web-appversion=2.4xmlns=:xsi=:schemaLocation=://java.sun.com/xml/ns/j2ee/web-app_2_4.xsdservletservlet-nameHelloWorld/servlet-nameservlet-classcom.isoftstone.edu.servlet.HelloWorld/servlet-class/servletservlet-mappingservlet-nameHelloWorld/servlet-nameurl-pattern/servlet/HelloWorld/url-pattern/servlet-mapping/web-app2020/6/238(续)Xml文件头定义?xmlversion=1.0encoding=UTF-8?xml根元素定义web-app数据格式定义文件…/web-app2020/6/239(续)Servlet元素定义servletservlet-nameHelloWorld/servlet-nameservlet-classcom.isoftstone.edu.servlet.HelloWorld/servlet-class/servlet2020/6/2310(续)Servlet映射路径定义servlet-mappingservlet-nameHelloWorld/servlet-nameurl-pattern/servlet/HelloWorld/url-pattern/servlet-mapping2020/6/2311运行Servlet程序启动服务器X:\Tomcat5.5\bin\startup.bat访问HelloWorld程序体系结构2020/6/2313Servlet程序生命周期客户端Web容器Servlet1请求2init()3service()4返回结果5响应6Destory()2020/6/2314init()方法在Servlet的生命周期中,仅执行一次init方法,是在服务器装入Servlet时执行的缺省的init()方法设置了Servlet的初始化参数,并用它的ServletConfig对象参数来启动配置2020/6/2315service()方法在调用service()方法之前,应确保已完成init()方法service()方法是Servlet的核心。每当一个客户请求一个HttpServlet对象,该对象的service()方法就被调用缺省的服务功能是调用与Http请求方法相应的do功能当一个客户通过HTML表单发出一个HTTPPOST请求时,doPost()方法被调用当一个客户通过HTML表单发出一个HTTPGET请求或者直接请求一个URL时,doGet()方法被调用2020/6/2316destroy()方法在服务器停止且卸装Servlet时执行该方法当服务器卸装Servlet时,将在所有service()方法调用完成后,或在指定的时间间隔过后调用destroy()方法2020/6/2317请求与响应当服务器调用Servlet的service()、doGet()、doPost()方法时,均需要“请求”和“响应”对象作为参数HttpServletRequest“请求”对象提供有关请求的信息HttpServletResponse“响应”对象提供了一个将响应信息返回给浏览器的一个通信途径ServletAPI文档2020/6/2318从请求对象中获取参数利用URL提交参数=abc&parm2=defrequest.getParameter(“parm1);request.getParameter(“parm2);利用HTML表单提交参数HttpServletRequest的getParameter方法formaction=/servlet/HelloWorldMethod=postinputtype=textname=parm1inputtype=textname=parm2inputtype=submit/form参数名必须相同Servlet映射路径2020/6/2319请求对象常用方法getAttribute(Strings)根据参数给定的属性名返回属性值setAttribute(Strings,Strings)设置属性值getInputStream()返回以二进制方式直接读取客户请求数据的输入流getParameter(Strings)根据参数给定的属性名返回属性值getRemoteaddr()返回远程客户主机的IP地址getRemoteHost()返回远程客户主机的主机名getCookies(Strings)根据给定的Cookies名返回Cookies值getContentType()返回客户请求数据的MIME类型getSession()返回Session对象2020/6/2320响应对象常用方法getWriter()返回可以向客户端发送字符数据的PrintWritergetOutputStream()返回可以向客户端发送二进制数据的输出流对象addCookie(Cookiec)向客户端写入CookiessetContentType()设置Servlet发送的响应数据的MIME类型sendRedirect()将请求转发到另一个Web组件。2020/6/2321doGet与doPostdoGet方法Servlet默认调用Get方式提交数据时调用doPost方法Post方式提交表单时调用两个方法都使用相同的输入参数HttpServletRequestHttpServletResponse2020/6/2322运行结果返回浏览器HttpServletResponse对象用来输出运行结果response.setContentType(text/html);PrintWriterout=response.getWriter();out.println(HTML);out.println(HEADTITLEHelloWorld/TITLE/HEAD);out.println(BODY);out.println(HelloWorld);out.println(/BODY);out.println(/HTML);2020/6/2323会话跟踪Session用来维系服务器的状态获取Session对象HttpSessionsession=request.getSession(true);Session对象中设置状态数据Stringuserid=“iss0015”;session.setAttribute(“userId“,userid);Session对象中获得状态数据(String)session.getAttribute(“userId“);2020/6/2324Servlet配置对象ServletConfig可获取配置web.xml文件中的参数servletservlet-nameHelloWorld/servlet-nameservlet-classcom.isoftstone.edu.servlet.HelloWorld/servlet-classinit-paramparam-namename/param-nameparam-valuetony/param-value/init-param/servletgetServletNamegetInitParameterNamesgetInitParameter2020/6/2325支持Servlet的服务器ApacheTomcatJavaServerWebDevelopmentKit(JSWDK)AllaireJRunI-PlanetServerWeblogicwebsphere2020/6/2326Tomcat的目录结构目录描述/bin存放启动、关闭等命令文件/conf存放Tomcat的配置文件,最重要的是server.xml/server/lib存放Tomcat所需的各种JAR文件/server/webapps存放Tomcat自带的两个Web应用:admin和manager/common/lib存放Tomcat服务器及所有Web应用都可以访问的JAR文件/shared/lib存放所有Web应用都可以访问的JAR文件/logs存放Tomcat的日志文件/webapps发布Web应用时,默认把Web应用放在此目录下/workTomcat把由JSP编译生成的Servlet放在此目录下2020/6/2327实验实验名称:用Servlet程序实现用户登录操作实验目标

1 / 28
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功