第九章 Servlet 编程技术

download 第九章  Servlet 编程技术

If you can't read please download the document

description

第九章 Servlet 编程技术. Servlet 是用 java 编写的,运行在 WEB 服务器上的独立模块。在实际应用中,我们可以灵活地加载和卸下 Servlet 模块,以此提高 WEB 服务器功能。 学习目标 了解 Servlet 的概念 了解 Servlet 与 JSP 的关系 熟悉 Servlet 运行环境 了解 Servlet 类的基本结构 了解 Servlet 模块的生命周期 学会在 JSP 页面中调用 Servlet. Servlet 引擎. ①HTTP 请求. IE 浏览器. ② 请求. ③ 响应. ④ HTTP 响应. 客户端. - PowerPoint PPT Presentation

Transcript of 第九章 Servlet 编程技术

  • ServletServletjavaWEBServletWEB

    ServletServletJSPServletServletServletJSPServlet

  • 9.1 Servlet?ServletServlet APIjavaServlet9-19-1 Servlet

  • HTTPServlerServletServletServlet(service())ServletHTTPServlet

  • 9.2 ServletJSP ServletJSPJSPServletJSPServletJSPServletJSPServlet

  • 9.3 Servlet ServletServletWEBServletweb.xml

  • 9.3.1Servletservletservlet e:\test\9

    servletservletinit()service(),e:\test\9Ex9_1.java

  • servlet API Ex9_1.javaservlet APIservlet-api.jarE:\Tomcat 5.0\common\libe:\test\9

    servlet dose:\test\9Ex9_1.javadosjavac classpath servlet-api.jar Ex9_1.java Ex9_1.class

  • 9.3.2Servlet1servlet Tomcat 5.0servletROOT\WEB-INF\classesEx9_1.class web.xmlweb.xmlROOT\WEB-INF

  • name_1 //servlet Ex9_1 //servlet

    name_1 //servlet /doget1 //servlet()

    web.xml

  • 9.3.3 Servlet web.xmlTomcat5.0 http://localhost:8090/doget1 servlet9-2 9-2 servlet

  • 9.4 Servlet ServletServlet APIServlet APIjavax.servletjavax.servlet.httpjavax.servlethttpjavax.servlet.httphttpjavax.servletServletGenericServletHttpServlet

  • 1 GenericServlet GenericServletjavax.servletservletinit()destroy()service()service()

    2 HttpServlet HttpServletjavax.servlet.httpGenericServletHttpServletservice()doXXX

  • (1) service()public void service(ServletRequest request, ServletResponse response) throws ServletException, IOException { ,requestresponse HttpServletRequest/ HttpServletResponseservice() }

    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { HttpServletRequest/ HttpServletResponsehttp6doXXX() }

  • (2) doXXX() doXXX()6 doGet(), doPost(),doDelete(),doPut(),doTrace(),doOption()Formmethodget2kB, postdoGet()doPost() protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ doPost()}

  • protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{ doGet()} ServletHttpServletservice()doPost()doGet()

  • 3.ServletServler (1).HttpServlet(2).HttpServletservice()doPost()doGet()Servletservice()doPost()doGet()servlet

  • 9.4.1 [9.2] ex9_2.jspServlet(Ex9_2.java)9-39-3 servlet

  • ex9_2.jsp: Ex9_2.java: 1Ex9_2HttpServlet 2doPost() 3 4out 5GB2312 6name/love 7(name)(love)

  • 9.4.2[9.3] Servlet[8.3]ReadFile.javaServletReadFile.java

  • ex9_3.jspServlet(ReadFileServlet.java)java(ReadFile.java)Ex9_3.jspServletServletReadFile.java9-49-4 servlet

  • ex9_3.jsp: ReadFileServlet.java 1ReadFileServletHttpServlet 2doPost()() 3 4out 5(filePath)(fileName) 6(filePath)(fileName)readFileBean 7getReadContent()readContent 8readContent

  • :web.xmlServlet(ReadFileServlet.java) /doget3 ex9_3.jsp /doget3 Servlet

    ReadFileServlet.javaReadFile.java importReadFileServletROOT\WEB-INF\classes\ch9web.xmlServlet /doget3

  • 9.5 ServletServletServletServletServlet

    1Servlet(1) init() servletservletservlet

  • (2) service() servletservice()/(doXXX()),servlet(3) destroy() servlet(), servletservlet

  • 2Servlet servletservlet?

    ?

    9-5 servlet

  • 9.5.1 init()Servlet[9.4](students)ServletJSPServletJSPServletServlet

  • ex9_4.jspEx9_4.java(Servlet)Ex9_4.javaex9_4.jspEx9_4.java9-69-6 servlet

  • Servlet(Ex9_4.java)init()init()public void init(ServletConfig config) throws ServletException { super.init(config); try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");// } catch(ClassNotFoundException e) { } try{ con=DriverManager.getConnection("jdbc:odbc:grade","",""); } catch(SQLException e) { } }

  • init()Servletcon

  • 9.5.2 service() [9.4] Ex9_4.java()service()Servlet(Ex9_4.java)service()

  • service():

    service()()service()

  • 9.5.3 destroy()Servlet9.4Servlet(Ex9_4.java)destroy()ServletServlet(Ex9_4.java)Servletdestroy()

  • destroy(): public void destroy() { super.destroy(); try { con.close(); } catch(Exception e) { e.printStackTrace(); } } destroy():destroy()Servelt

  • web.xmlServlet(Ex9_4.java) " /doget4 "ex9_4.jsp" /doget4 "Servlet(Ex9_4.java)ex9_4.jsp

  • 9.6 jspServlet[9.5]//"e:\phone.txt"JSP////ServletServlet"e:\phone.txt"ex9_5.jspServlet(Ex9_5.java)Servlet(Ex9_5.java)"e:\phone.txt"

  • ex9_5.jsp:(name),(sex)(telphone) Ex9_5.java: 1HttpServletEx9_5 2ou(), outbuff() 3init()ououtbuff 4doPost()"text/html;charset=GB2312" 5out 6"GB2312" 7name/sex/telphone 8(name),(sex),(telphone) outbuff 9(name),(sex),(telphone)

  • ServletJSPServletServletServletServlet

  • 1ServletJSPJSPJavaHTMLServlet2Servlet.classWeb.xmlServletTomcatBean3ServletServlet APIjavac classpath servlet-api.jar 4doGetdoPostservicedoGetdoPostFormgetpostdoGetservicedoGetdoPost

  • 5doPutdeletedoPutdeletejava6PrintWriterJSPoutHTML7HttpServletRequestHttpServletResponseJSPrequestresponse

    Ex9_1.javaimport java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class Ex9_1 extends HttpServlet{ public void init(ServletConfig config) throws ServletException { super.init(config); } public void service(HttpServletRequest reqest, HttpServletResponse response) throws IOException { response.setContentType("text/html;charset=GB2312"); // PrintWriter out=response.getWriter(); out.println(""); out.println(" "); out.println(""); }}

    ex9_2.jsp:

    : : Sleep Dance Travel

    Ex9_2.java:import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class Ex9_2 extends HttpServlet{ //doPost public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException,IOException { res.setContentType("text/html;charset=GB2312");// PrintWriter out=res.getWriter(); // req.setCharacterEncoding("GB2312"); String name=(String)req.getParameter("myname") ; String love=(String)req.getParameter("love") ; out.println(" "); out.println(":" + name);//"myname" out.println(""); out.println(":" + love);//"love" out.println(""); out.close(); }}