第九章 Servlet 编程技术

  • Upload
    italia

  • View
    126

  • Download
    7

Embed Size (px)

DESCRIPTION

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

Citation preview

  • 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(); }}