�ʼǣ���ʮ�� JSP��Servlet
[����]1�� ��̬��ҳ�;�̬��ҳ��ʲô������2�� ʲô��WebӦ�ó�����3�� ʲô��Servlet����һ��Java������ʲô������4�� ʲô��JSP����Java��ʲô��ϵ��5�� JSP��Servlet����Щ��ͬ�㣿6�� JSP��Servlet����Ҫ��;��10��1 S...
1�� ��̬��ҳ�;�̬��ҳ��ʲô������
2�� ʲô��WebӦ�ó�����
3�� ʲô��Servlet����һ��Java������ʲô������
4�� ʲô��JSP����Java��ʲô��ϵ��
5�� JSP��Servlet����Щ��ͬ�㣿
6�� JSP��Servlet����Ҫ��;��
10��1 Servlet�ĸ������������ 10.1.1 Java Servlet�ĸ���
����Java Servlet��һ��ר�����ڱ�д����������Ӧ�ó�����Java���������л���Java�ķ������˱��̶��ǹ�����Servlet֮�ϵġ���J2EE��Servlet�Ѿ���һ������������ ��J2EE�и�Servlet���ص�һ������javax.servlet��������������Servlet������Ϊһ���ӿ�javax.servlet: Interface Servlet������Servlet���߲��ε�һ�����������Ǻ�����Э���صġ�ͬ����javax.servlet�У�ʵ����һ���� javax.servlet: class GenericServlet��������ʵ����Servlet�ӿڣ�Ҳ�Ǻ�Э���صġ����������ǹ���������Э�����ص�Servlet�����͵�ͨ�õĸ��ࣨ����HttpServlet�Ǵ����̳ж����ģ�����������Ҳ�ܿ�����һ�㣩�� Ҳ����˵Servlet�����õ�����Э�������Ƕ��ֶ����ģ�����HTTP��FTP��SMTP��TELNET�ȣ����Ǿ�Ŀǰ���ԣ�ֻ��HTTP�����Ѿ��γ��˱���Java��������Ӧ��������������javax.servlet.http��javax.servlet.jsp���ֱ���Ӧ����Ҫ������Servlet��JSP���̡�����ͨ����˵��Servlet������Ҫ����ָ����HTTP��Servlet���̣��õ��ľ���javax.servlet.http���е��ࣨ���͵ľ���HttpServlet�ࣩ��ʵ����Java Servlet���̵ĸ���Ҫ����һЩ������������Ҳ��Լ���׳ɵ�ʹ��Servlet��ָ��HTTP Servlet�ı��̣�������������Ҫ�˽��ġ�����JSP���ն���Ҫ����JSP����ת����Servlet�����ģ�����Servlet���̺�һ����Java������û�д��������ģ�ֻ��Ҫ�˽�һ���Ĺ淶���ɣ����������������Ƚ���Servlet�ı��̣��������Ժ�����JSP�Ǻܴ����кô��ģ�������ʹ�õ�ʱ������JSP��Ϊ����һЩ��
����Ŀǰ��Servlet����һ���ǵ������IJ�������ͨ��һ���ķ������ӵ�Web��������Servlet��������ʶ��ΪServlet��������ЩHTTP�����ػ�������������������HTTP������Web����������ͨ���ķ�ʽ��������Servlet������װ�غ��ʵ�Servlet���ڴ��У�����Servlet��û�����еĻ���������һ������ʹ�õ��߳��������������ٰ�Servlet���������ص�����������Web�ͻ�����
����Java Servlet��Java Applet����������Ӧ�����ֳ������ͣ�Applet�����ڿͻ��ˣ�����������ִ�У���Servlet�ڷ������ڲ����У�ͨ���ͻ����ύ�������������У�������ѧϰ���̿������ıȽϡ� ����Servlet����Java��д�ģ������������������п�ƽ̨�����ԣ�����Servlet������������ȫ��ƽ̨���صģ�ͬ����Servlet��ȫ������Apache��IIS�Ȳ�ͬWeb��������ִ�У����ܵײ��IJ���ϵͳ��Windows��Solaris��Mac��Linux������������֧��Java�IJ���ϵͳ��
����Servlet�Ǹ���ͨ��Java����һ�����DZ��������ֽ�������JVMִ�еġ����ȴ�ͳ��CGI������CGI���ñ��ش���ֱ��ִ�еģ���������ÿ�οͻ��˷�������������������һ���µij������������������ͰѸ߸���ǿ�Ӹ��˷�������Դ����������CGIʹ�ýű����Ա�дʱ����perl���������������������Խ��ͳ�����Խ�࣬ռ�õ��ڴ���Խ�࣬����CPUҲԽ�࣬����Ӱ��ϵͳ���ܡ�
����Servlet������Servlet����������Java�������У������Կͻ��������������ѣ���CGI��ͬ���ǣ�����������ֻҪװ��һ��Servlet���ܹ������µ�������ÿ��������ʹ���ڴ����Ǹ�Servlet����ͬ����������Ч�ʱ�CGI���øߡ��������÷������˽ű�����ASP��PHP�����Խ��ͳ��������ó��������˿��Լӿ������������У�����Ч�ʻ��DZȲ���������Servlet��ʵ�ʵ�ʹ��Ҳ�Ѿ�֤����Servlet��Ч�ʺܸߵķ������˳����ʺ���������Web������Ӧ�ó�����
����Java Servlet����ʮ�ֹ㷺��Ӧ�á������ܼĴ����ͻ��˵�������Java��ǿ���Ĺ��ܣ�ʹ��Servlet������ʵ�ִ����ķ������˵Ĺ���ά�����ܣ��Լ����������������磬������������������ת���������� 10.1.3 Servlet�����л��� ���͵�Servlet���л�����JSWDK��Tomcat��Resin�ȣ��⼸���������ѵ��������ʺ�����ѧϰServlet��JSP�����Ƕ��Դ�һ����HTTP Server��ֻ���������ü���Ͷ��ʹ�ã���Ҳ�������ǰ����õ�Web�������ϣ���Apache��IIS�ȣ��ṩС��ģ��Web������һЩ��ҵ�Ĵ����͵�֧��Servlet��JSP��Web����������JRun��Web Sphere��Web Logic�ȵȣ����ñȽϸ��ӣ������ʺϳ�ѧ�ߡ����ǹ��ܽ�Ϊǿ�����������Ķ��߿���һ�ԡ� 10.1.7 Servlet�ı��� Servlet�ı�����һ����Java��������ȫһ���ģ���ʹ��javac������ʱ������Ҫ�κ������IJ�����ֻҪServlet�ı�д����ȷ�ģ������������ɵ�Class�ļ��Ϳ�����ΪServlet�������ˡ�
����ʾ���� import java.io.*;
������import java.util.*;
������import javax.servlet.http.*;
������import javax.servlet.*;
������//������Ҫ�İ�
������public class HelloServlet extends HttpServlet {
��������������������//����Servlet������HttpServlet����
����������public void doGet (HttpServletRequest req, HttpServletResponse res)
����������throws ServletException, IOException
����������//doGet()������Servlet�ĺ��ģ��������������ĵط�
������{
������res.setContentType("text/html");
����������//������Ӧ������Ϊtext/html
������PrintWriter pw = res.getWriter();
����������//��HttpServletResponse�õ������� ������pw.println("<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
������pw.println("<head>");
������pw.println("<meta http-equiv=""Content-Type"" content=""text/html; charset=ISO-8859-1"">");
������pw.println("<!-- The Servlet expression tags interpolate script variables into the HTML -->");
������pw.println("<title>Hello, world!</title>");
������pw.println("</head>");
������pw.println("<body bgcolor=#cc99dd>");
������pw.println("<h1>Hello, world!</h1>");
������pw.println("</body>");
������//���������䶼�����ͻ��˴�ӡHTML�ı�
������pw.close();
������//�ر�HttpServletResponse��ʹWeb������֪����Ӧ����
����}
����public HelloServlet() {} //���캯�������Բ�Ҫ
��} 10��2 Servlet��Ӧ��ʵ�� 10.2.1 Servlet�����������ķ��� ������HTML��ʹ�����㷺�Ĵ�����Ϣ���ֶΡ�������Servlet�������Ľ��������ڿͻ�����������֮��������һ��������Servletʹ��HttpServlet���еķ������������н�������HttpServlet�����м���δ��ȫʵ�ֵķ������������Լ����巽�������ݣ����DZ�����ȷʹ�÷���������ʹHTTP Server�ѿͻ�������ȷ��ӳ�䵽��Ӧ�ĺ����ϡ�
����doHeader ���ڴ���HEADER����
����doGet ���ڴ���GET������Ҳ�����Զ���֧��HEADER����
����doPost ���ڴ���POST����
����doPut ���ڴ���PUT����
����doDelete ���ڴ���DELETE����
����HttpServlet��Service�������������յ�һ��OPTIONS����ʱ�������Զ�����doOptions�����������յ�һ��TRACE����ʱ����doTrace��DoOptionsĬ��ִ�з�ʽ���Զ�����ʲô����HTTP��ѡ�����ĸ���Ϣ��
������ʹ����Щ����ʱ������������������һ���������Կͻ��˵�����HttpServletRequest���ڶ������������ͻ��˵���ӦHttpServletResponse�� һ��HttpServletRequest�����ṩ����HTTPͷ�����ݣ�Ҳ������ȡ�ͻ��˵����ݡ�������ȡ��Щ����ȡ����HTTP������
�������ܺ���HTTP��ʽ����������getParameterValues���������ض����ƵIJ���ֵ�� ��HttpServletRequest,HttpServletResponse�ӿڷֱ��̳���ServletRequest��ServletResponse�ӿڣ�getParameterValues��getWriter�������������Ƚӿ��еķ�����
��������HTTP GET�����ķ�ʽ��getQueryString�������᷵��һ�������������ʷ����IJ���ֵ��
����������HTTP POST��PUT��DELETE�����ķ�ʽ��HttpServletRequest�����ַ�������ѡ�����������ı����ݣ�����ͨ��getReader�ķ����õ�BufferedReader��ȡ���ݣ������Ƕ��������ݣ�����ͨ��getInputStream�����õ�ServletInputStream��ȡ���ݡ�
����Ϊ����Ӧ�ͻ��ˣ�һ��HttpServletResponse�����ṩ�������ݸ��û�������������һ������getWriter�����õ�һ��PrintWriter�����ڷ����ı����ݣ���һ�ַ�������getOutputStream�����õ�ServletOutputStream�����ڷ��ض��������ݡ���ʹ��Writer��OutputStream֮ǰӦ������ͷ����HttpServletResponse������Ӧ�ķ�������Ȼ����Writer��OutputStream����Ӧ�����岿�ַ����û������ɺ�Ҫ�ر�Writer��OutputStream�Ա��÷�����֪����Ӧ�Ѿ������� ����PrintWriter out = response.getWriter();
������ out.println("Request URI: " + request.getRequestURI()+"<br>");
������������ ����֪����ͬһ̨�����ϣ����еı��뷽ʽ����һ���ģ�һ������ƽ̨��gb2312��Ӣ��ƽ̨��ISO-8859-1�����������ϵ���̨���������ܱ�֤���ǵı��뷽ʽ����һ���ģ���ʱ�����п��ܳ������������⡣�ڽ���HTTP���紫����ʱ����ͳһ���õı��뷽ʽ��ISO-8859-1����ʱ���������ǰ��ձ��ر����������ͻ��������⣬��Ҳ��Servlet��ʵ�����紫����ʱ��һ���������ĵط����������Զ����б��ر��뵽ISO-8859-1��ת��������ֱ�Ӵ�ӡ�Ļ��ͻ��������롣ԭ���Ͻ��κγ��ִ�ӡ�ַ����ĵط���������Ҫ���б���ת���ģ����������ַ��ڲ�ͬ�ַ����¶�Ӧ��ͬ�ı��룬���ڴ�ӡ�����ַ���ʱ���Ͳ���Ҫת���ˡ���Servlet���̵Ĺ淶�п��ܻ��ı������鷳��״������ͬ���ǣ��������ύ�ı������ݣ�Servlet���Զ�����ת���ɱ��ر����ģ����Գ����еõ���name�ַ���������gb2312�����ģ�ͬ����Ҫ����ת���������ڿͻ�����ȷ��ӡ��
�����ַ�����ת�����õķ�����
����String native_encoded = "�����ַ���";
������������������������//���ر������ַ���
����Byte[] byte_array = native_encoded.getBytes();
������������������������//�õ����ر������ֽ�����
����String net_encoded = new String(native_encoded, "ISO-8859-1");
������������������������//����ISO-8859-1�������ַ��� ����out.println(new String(new String("<td>����������</td>").getBytes(),"ISO-8859-1")); 10.2.3 ��Servlet���ƻỰ �Ự״̬��ά���ǿ���WebӦ�����������Ե����⣬�ж��ַ��������������������⣬��ʹ��Cookies��hidden���͵ı�����ֱ�Ӱ�״̬��Ϣ�ӵ�URL�еȣ�����Servlet�����ṩ��һ��HttpSession�ӿ���֧�ֻỰ״̬��ά�֣�������������Ҫ���ܻ��������ӿڵĻỰ״̬�Ĺ����� Session�ķ�����Ϊ���HTTPЭ���ľ��ޡ���ע��HTTPЭ�������ι�����--�û�������������������Ӧ�������û��˺ͷ������˵���ϵ������ɢ�ģ��������ġ�HTTPЭ�鲻���ṩ���������������û������Ĺ��ܡ��ڷ�������������Ӧ�û�������֮���������ܼ������������������������ӡ��ӷ���������������ÿһ���������Ƕ����ģ�����HTTPЭ�鱻��Ϊ����״̬Э�飬���û��ڶ�����ҳ���л�ʱ����������֪���������ݡ�Session�ij��־���Ϊ���ֲ��������ޡ�����Session�����Ϳ��Ե�һ���û��ڶ�����ҳ���л���ʱ��Ҳ�ܱ���������Ϣ�������ܶ���ǰ������ȥ���������ͱ��ü��ˡ�
�ڷ����ߴӵ���ij���ض�����ҳ���뿪Ϊֹ���Ƕ�ʱ�䣬ÿ�������߶��ᵥ������һ��Session��
����Java Servlet������һ��HttpSession�ӿڣ�ʵ�ֵ�Session�Ĺ��ܣ���Servlet��ʹ��Session�Ĺ������£�
���� ��1�� ʹ��HttpServletRequest��getSession�����õ���ǰ���ڵ�session��������ǰû�ж���session����һ���µ�session��������ʹ�÷���getSession��true��
������2�� дsession����������ʹ�÷���HttpSession.setAttribute��name��value������Session�д洢һ����Ϣ��Ҳ����ʹ��HttpSession.putValue��name��value���������������Ѿ���ʱ�ˡ�
������3�� ��Session����������ʹ�÷���HttpSession.getAttribute��name������ȡSession�е�һ������ֵ������name��һ��û�ж����ı�������ô���ص���null����Ҫע�����ǣ���getAttribute�����ı���������Object������ʹ��ǿ������ת�������磺
����������String uid = (String) session.getAttribute("uid");
����Ҳ����ʹ��HttpSession.getValue��name����������������Ҳ�Ѿ���ʱ�ˡ�
������4�� �ر�session����ʱ����session����ʹ��session.invalidate()�����ر�session�������Ⲣ�����ϸ�Ҫ���ġ���Ϊ��Servlet������һ��ʱ��֮�����Զ��ر�seesion�� HttpSession session = request.getSession(true); //����true��ָ��û��sessionʱ����һ���µ�
������Date created = new Date(session.getCreationTime());
������������������������������������//�õ�session������ʱ��
������out.println("ID " + session.getId()+"<br>");
������ ������������������������//�õ���session��id������ӡ
������out.println("Created: " + created+"<br>");
������������������������������������//��ӡsession����ʱ��
������session.setAttribute("UID","12345678");
������������������������������������//��session�����ӱ���UID=12345678
������session.setAttribute("Name","Tom");
������������������������������������//��session�����ӱ���Name=Tom ��10.2.4 Servlet����������
�����ͻ��˵�Applet���ƣ�Servlet������Servlet�ĸ����ֻص�����ԭʼ�ĺ��壩Ҳ��ѭ�ϸ����������ڡ���ÿ��Servletʵ�������������������͵��¼����������¼��ֱ���Ӧ����Servlet���������ѵ�����������
����1��init()����Servlet��һ�α�װ��ʱ��Servlet������������Servlet��init()������ֻ����һ�Ρ�����ij��Sevlet��Ҫ�����ij�ʼ����Ҫ����ôServlet��д��Ա������д�÷�����ִ�г�ʼ������������һ����ѡ�ķ���������ij��Servlet����Ҫ��ʼ������ôĬ�������½�������������init������ϵͳ��֤����init�����ɹ�������ǰ���Dz�������Servletȥ�����κ������ġ�
����2��service()������Servlet����Ҫ�ķ��������������������ĵط�������ÿ��������Servlet���潫����Servlet��service����������Servlet����������Servlet��Ӧ������Ϊ�������ݸ�����
����3��destroy()������������init�Ŀ�ѡ��������Servlet������ж��ʱ��Servlet���������ã��������������������ͷ���init����������������Դ�� Servlet���������ڿ��Ա�����Ϊ���¼�����
������1�� װ��Servlet����һ������һ���Ƕ�ִ̬�еġ�Ȼ����Servletͨ�����ṩһ��������ѡ�������Servlet����ʱǿ��װ�غͳ�ʼ���ض���Servlet
������2�� Server����һ��Servletʵ��
������3�� Server����Servlet��init����
������4�� һ���ͻ�������Server
������5�� Server����һ����������
������6�� Server����һ����Ӧ����
������7�� Server����Servlet��service������������������Ӧ������Ϊ����
������8�� service�������ù���������������Ϣ������������������Դ��������Ҫ����Ϣ
������9�� service����ʹ����Ӧ�����ķ���������Ӧ����Server�����յ����ͻ��ˡ�Service�������ܼ������������Դ�����������doGet��doPost����������Ա�Լ������ķ���
������10�� ���ڸ����Ŀͻ���������Server�����µ���������Ӧ��������Ȼ������servlet��service��������������������Ϊ�������ݸ����������ظ����ϵ�ѭ�����������ٴε���init������Servletһ��ֻ��ʼ��һ��
������11�� ��Server������ҪServletʱ�����統ServerҪ�ر�ʱ��Server����Servlet��destroy
10��3 JSP���� 10.3.1 JSP�ĸ��� JSP(Java Server Pages?)��Sun Microsystems��˾���������˾����һ��������һ�ֶ�̬��ҳ������������HTML�����У�����JSP����(tag)��Java����Ƭ�� (Scriptlet), ����JSPҳ�棬����չ��Ϊ .jsp�����ͻ�������JSP�ļ�ʱ��Web������ִ�и�JSP�ļ���Ȼ����HTML�ĸ�ʽ���ظ��ͻ���ǰ���Ѿ��ᵽ��JSPֻ�ǹ�����Servlet֮�ϵĸ߲��εĶ�̬��ҳ�������ˣ��Ӹ����Ͻ�������Servlet���ԣ�JSP��û��ʲô�µĶ������������߶�ǰ����Servlet�Ѿ�ʮ�ֵ��˽⣬��ôJSP�ĸ�����˵��Servlet����ȫһ���ģ�ֻ������ʵ�ַ��������в�ͬ�� 10.3.2 JSP���ŵ� 1. һ�α��룬���Ρ��ദ����,������ִ��Ч�ʸ�
����JSP�Ľű�������JAVA���ԣ�����������JAVA���Ե�һ�����ԡ�ͬʱ��JSPҲ֧�����ڴ�ƽ̨�� ��JSP��һ�α�����ʱ��JSPҳ��ת����servlet��Ȼ������.calss�ļ����Ժ���ҳ���иĶ���Web���������������������пͻ�������JSPҳ��ʱ��JSPҳ�治�����±��룬����ֱ��ִ���ѱ����õ�.class�ļ�������ִ��Ч���ر��ߡ�
2. ������������
���������õġ���ƽ̨��JavaBeans��EJB��Enterprise JavaBeans��������ΪJSP�����Ŀ����ṩ���㣬���ǿ��Խ����ӵĴ�����������ҳ������Ҫ��ʾ�Ķ�̬���ݼ������ݿ��IJ������ŵ������С����Զ���ʹ����Щ�����������ļ�������JSPҳ������д�ظ��Ĵ��롣
3. �����ݵ����ɺ���ʾ���з���
����ʹ��JSP������Webҳ�濪����Ա����ʹ��HTML����XML��ʶ�����ƺ�ʽ������ҳ�档ʹ��JSP��ʶ���߽ű�������ҳ���ϵĶ�̬���ݡ����ɶ�̬���ݵ�����һ�㱻��װ��JavaBean������EJB������JSP�ű����С�������ҳ����������Ա��ҳ���ı�����Ա����ͬ�����С�ͬʱ�ڿͻ���ͨ���鿴Դ�ļ���������JSP��ʶ�����䣬��������JavaBean��EJB������Ҳ���Ա���Դ�����Ĵ��롣 10.3.3 JSP�����з�ʽ
JSPһ�������з�ʽΪ����������������Web�������˷�����һ��ҳ������ʱ��Web���������ж��Ƿ���JSPҳ��������������ҳ��ֻ��һ����HTML/XMLҳ����������ֱ�ӽ�HTML/XMLҳ�����봫��Web�������ˡ�����������ҳ����JSPҳ�棬����JSP����������JSPҳ�棬������ҳ���ǵ�һ�α��������ǵ�һ�α��������ѱ��ģ���JSP���潫��JSPҳ������ת����Servlet���룬Ȼ��JSP�������÷������˵�Java������javac.exe��Servlet�������б��룬���������ֽ���(.class)�ļ���Ȼ���ٵ���JAVA������ִ�и��ֽ����ļ���Ȼ����ִ�н�������Web�������ˡ�������JSPҳ�治�ǵ�һ�α���������û�б��Ĺ�����ֱ����JSP��������JAVA������ִ���ѱ��������ֽ���.class�ļ���Ȼ��������Web�������ˡ�������һ��JSP���е�ʾ��ͼ��
�����磺��resin�������У���һ��add.jsp�ļ�����doc/Ŀ¼�£������������вο���ҳ��ʱhttp://127.0.0.1:8080/add.jsp ��ϵͳ����docWEB-INFwork_jspĿ¼������_add__jsp.class�� _add__jsp.java��_add__jsp.java.smap�����ļ�����
�����������Ѿ����ѿ���JSP��Servlet�Ĺ�ϵ��JSP���渺����JSPҳ�淭����Servlet������JSP�ڵײ���ȫ����Servlet��ָԭʼ�����ϵ�Servlet��������HttpServlet����ǰ�������ᵽJSP���̶�Ӧjavax.servlet.jsp����ȷ�еĽ����������ǹ�JSP����ʹ�õģ�������������ʱ����Ҫ�õ��������������ڱ�дJSPҳ����ʱ���Dz���Ҫ�漰��������ʹ�õġ�
����Ϊʲô����Servlet��Ҫ�ڸ߲�ʵ��һ��JSP�أ�����������Servlet������д�ķ��ӳ̶��йأ�������Servlet������ҳ�����۵Ļ�������һ��ʮ��ͷ�۵����飬ʹ��JSP�Ͱѷ��ӵĴ�ӡ������JSP���棬����Ա���Ѿ������е����������档�ں��滹���н�һ���ıȽϡ� 10.3.8 JSPָ��(1)
�����������ǿ�ʼ����JSP������ӱ����Ͻ�JSP����Java��������Ϊ�����ջ��ǻᱻ������Servlet����������class�ļ�ִ�С���������JSP��Ƕ��ʽ��Java��������Щ�����ķ��Ż�����Ҫѧϰ�ġ���������һһ�о٣����߲��������ʹ��֮���ͻ���Ϥ��
1��HTMLע��
������ע���ڿͻ��˿�ͨ���鿴Դ�ļ��ķ���������
����JSP���<!--ע��[ <%= ����ʽ%> ] -->
������1
����<!-- This file displays the user login screen -->
�����ڿͻ���ҳ��Դ��������ʾΪ��
����<!-- This file displays the user login screen -->
������2
����<!-ҳ����������Ϊ��
����<%= (new java.util.Date()).toLocaleString() %> -->
�����ڿͻ���ҳ��Դ��������ʾΪ��
����<!--ҳ����������Ϊ:January 1, 2000 -->
��������
����������ע����ʹ���κ���Ч��JSP����ʽ������ʽ�Ƕ�̬�ģ����û���һ�ε��ø�ҳ������ҳ�����������µ���ʱ���ñ���ʽ������ֵ��JSP������HTMLע���еı���ʽִ����������ִ�еĽ�����ֱ�Ӳ��뵽����ʽ��ʾ�ĵط���Ȼ���ý�����HTMLע���е���������һ���������ͻ��ˡ�<!-- �� -->֮�������������������ǿ��������������ڿͻ��˿�ͨ���鿴Դ�ļ��ķ���������ע�͡�
2��JSPע��
����JSPע����ΪJSPҳ�����ĵ����ϣ����Ǹ�ע���ڿͻ���ͨ���鿴Դ�ļ��ķ����ǿ������ġ�����ע�Ͳ����͵��ͻ��ˡ�
����JSP���<%-- ע�� --%>
ע�⣺��JSPע���У�����ʹ��--%>������������һ��Ҫʹ�õĻ�������ͨ��ʹ��--%>���ܿ���
3. ����
������JSPҳ���ű�����������������
����JSP���<%! ������[����;]+���� %>
��������
����<%! int i =8; %>
����<%! int n, m, k,j; %>
����<%! String s = new String("hello"); %>
��������
������JSP�ļ��У�һ�ο�������һ�������������ͷ���������֮���÷ֺŸ�����������ʱʹ��JAVA����ʱ����������JAVA���Թ淶��
����ע�⣺
������i�� ����������������Ȼ������ʹ�á�
������ii�� ���������ԷֺŽ�β,�����ڱ���ʽ�������á�
������iii�� ͨ��pageָ����İ����������ı�����,��������JSP�ļ���ֱ��ʹ�����ǡ�
������iv�� һ�������£�һ����������Ч��Χ�DZ�ҳ�档���ǣ�����JSPԴ�ļ���<jsp:include>ָ����includeָ������һЩ��̬�ļ�����������Ч��Χ����������Ҳ����˵�������ڸþ�̬�ļ���Ҳ��Ч����������JSPԴ�ļ�����<jsp:include>ָ����������һ����̬�ļ�����JSP�ļ��е������ڸö�̬�ļ��н��������á� 4. ����ʽ
������JSP�ű������У�����ʹ���κ���Ч�ı���ʽ��
����JSP���<%= ����ʽ %>
��������1��
����<%! String s = new String("hello"); %>
����<font color="blue"><%=s%></font>
��������2��
����������ʾһ�����֣�
����<font color="blue"><%=java.lang.Math.random()%></font>
��������
��������ʽ������ֵ��Ȼ����ֵת��Ϊ�ַ���,���Ҳ�����JSP�ļ�����ʾ�ñ���ʽ�ĵط������ҿ������ı���ʹ�ñ���ʽ������ʽ��ǩ�ܰ�������JAVA���Թ淶���κ���Ч����ʽ������Ҫע�⣺����ʹ�÷ֺ���Ϊ����ʽ�Ľ�β��Ȼ�����ڽű���<%����%>��ǩ�У�����ʽҪ���Էֺ���Ϊ��β��
5. �ű���
������JSPҳ���ű������У�����һ����Ч�Ĵ���Ƭ�Ρ�
����JSP���<% ������ %>
������1��
����<%=java.lang.Math.random()%>
����<%
����for(int i=0;i<8;i++)
����{ out.println(i); }
����%>
����<% ��
����long n=6666;
����application.setAttribute("maxNumber",Long.toString(n));
����out.println(application.getAttribute("maxNumber"));
����%>
��������
�����ڽű������������������ͷ�������ʹ���κ���Ч�ı���ʽ����ʹ���κ�JSP�����Ķ������κ���<jsp:useBean>��ǩ�����Ķ�������ʹ��ҳ���������κ���Ч�����䣬����ʹ��Java���ԣ���������JAVA���Գ����淶��
����˵���������ű������������䣬���������ݱ��洢��out�����У�ͨ��out����������JSPҳ���С�
10.3.8 JSPָ��(2)��
��1��Includeָ��
������ָ�����ڰ���һ���ı����������ļ���
����JSP���<%@ include file="relativeURL"%>
�������ӣ�
����<body >
����random.jsp�е�������ʾ����Ϊ��
����<%@ include file="random.jsp" %>
����</body>
����random.jsp�ļ�������Ϊ��
����<%=java.lang.Math.random()*10000%>
������ҳ������ʾΪ:
����random.jsp�е�������ʾ����Ϊ�� 2148.093521070482
��������
����Includeָ����JSP�ļ��в���һ�������ı��ʹ������ļ������������ļ�������JSP�ļ���HTML�ļ����ı��ļ����������������ļ���JSP�ļ�����JSP������������JSP�ļ�����ִ�еĽ��������뵽��JSP�ļ���Includeָ�����ڵ�λ�á��������������ļ���HTML�ļ����ı��ļ�,��JSP���治�������б��룬ֱ�ӽ������ݲ��뵽��JSP�ļ���Includeָ�����ڵ�λ�á��ð����Ǿ�̬�����������������ļ������꣬���ҽ���Ҳ���뵽��JSP�ļ����ϣ���JSP�ļ�������ִ��includeָ�����������ݡ�
����ע�⣺
������1�����������ļ��в��ܺ���<html>,</html>,<body>,��</body>��ǩ����Ϊ���������ļ���ȫ�����ݽ������뵽JSP�ļ���includeָ�����ڵĵط�����Щ��ǩ����ͬJSP�ļ������е�ͬ���ı�ǩ������ͻ��
������2�����类�������ļ������仯����JSPҳ�潫�����±��롣
�������ԣ�
����file="relativeURL"
����file�DZ������ļ���·������ ��ֵ��һ��URL��һ���֣�û��Э�顢�˿ںŻ�����. �磺
����"error.jsp"
����"/templates/onlinestore.html"
����"/beans/calendar.jsp"
������������URL��"/"��ʼ������·����������JSPӦ�������Ķ��Եģ�JSPӦ���������Ǵ洢��application�����е�javax.servlet.ServletContext��������������URL��Ŀ¼���ļ�����ʼ������·���������ڵ�ǰJSP�ļ����ڵ�·�����Եġ�
������2. Page ָ��
������������JSPҳ����ȫ�����ԡ�
����JSP���
����<%@ page
����[ language="java"]
����[ extends="package.class"]
����[ import= "{ package.class | package.* }, ..." ]
����[ session="true|false" ]
����[ buffer="none|8kb|sizekb" ]
����[ autoFlush="true|false" ]
����[ isThreadSafe="true|false" ]
����[ info="text"]
����[ errorPage="relativeURL"]
����[ contentType="mimeType [ ;charset=characterSet ]" |
����"text/html ; charset=ISO-8859-1" ]
����[ isErrorPage="true|false"] %>
������������
����<%@ page contentType="text/html;charset=gb2312" %>
����<%@ page import="java.sql.*, java.lang.*" %>
����<%@ page buffer="8kb" autoFlush="false" %>
����<%@ page errorPage="error.jsp" %>
����������
����Pageָ�������÷�Χ������JSP�ļ���JSP�ļ���includeָ����<jsp:include>�����������κξ�̬�ļ�������JSP�ļ�����Щ��̬�ļ�һ������һ��"ƽ�Ƶ�Ԫ". ע��:Pageָ��������κζ�̬�İ����ļ�����������һ��"ƽ�Ƶ�Ԫ"ʹ�ö���Pageָ�����ÿһ��������ֻ��ʹ��һ�Σ�����import(��Ϊimport���Ժ�JAVA�������Ե�import���������ƣ����ܹ�����ʹ������������JAVA���������ܹ�����ʹ��import����һ��)�������㽫Pageָ���ŵ�JSP�ļ��������ļ����κ�һ��λ�ã��������÷�Χ��������"ƽ�Ƶ�Ԫ".Ȼ����һ���õı��ɷ����dz��������ŵ��ļ��Ķ���.
����language="java"
������JSP�ļ��Ľű��Ρ������ͱ���ʽ��ʹ�õ����ԡ���ֻ������"JAVA"�� ����extends="package.class"
��������������ָ��JAVA���ļ�����ȫ����ʹ�ø�����ʱҪС�ģ���Ϊ����������JSP���������ļ��������� ����import= "{ package.class | package.* }, ..."
����JSP�ļ��е�����һ���������ö��Ÿ����İ����б�����Щ���������ǵ��ࣩ������JSP�ļ��Ľű��Ρ�����ʽ�������ͱ�ǩ��ʹ�á������뽫import���Էŵ����ñ����������ı�ǩǰ�档�������뵼������������������import�����ö��Ž�ÿ�����������ɣ�����������һ��JSP�ļ���ʹ�ö���import. ����session="true|false"
��������������ȷ��JSPҳ���Ƿ�ʹ��HTTP session.��������ֵ��true, ��sesssion���õ��ǵ�ǰ���µ�session. ��������ֵ��false������JSP�ļ��У�����ʹ��session������Ĭ��ֵ��true. ����buffer="none|8kb|sizekb"
��������buffer�������Ĵ�С����out����������JSPҳ�����ͻ�Web������������ʱʹ�á�����Ĭ��ֵ��8kb.������ָ����buffer�������Ĵ�С����������������������ָ���Ĵ�С�� ����autoFlush="true|false"
����������ָ����������������ʱ���Ƿ��Զ�ˢ�¡�����ֵΪtrue(Ĭ��ֵΪtrue)�����Զ�ˢ�¡�����ֵΪfalse,����������ʱ��������������������buffer���Ե�ֵ��Ϊnone,autoFlush���Ե�ֵ������Ϊfalse. ����isThreadSafe="true|false"
������������ֵ��Ϊtrue,�����߳���ͬʱ����һ��JSPҳ�档��������ֵΪfalse,��һ��JSPҳ�棬JSP����һ��ֻ����Ӧһ���û���������Ĭ��ֵΪtrue�� ����info="text"
�����������ߡ��汾������Ȩ����Ϣ������ͨ��javax.sevlet.Servlet.getServletInfo()�����鵽����Ϣ����ϸ������ ����errorPage="relativeURL"
�����������������ô��������¼���JSP�ļ���·��������������·������"/"��ʼ��������·������JSPӦ���ĵ���Ŀ¼���Եģ�������Web����������������������·���������ڵ�ǰJSP�ļ����Եġ� ����isErrorPage="true|false"
����JSP�ļ��Ƿ���ʾ����ҳ�档 ��������ֵΪtrue,������ʹ������exception��������������ֵΪfalse(Ĭ��ֵҲΪfalse),��JSP�ļ��У�����ʹ��exception������ ����contentType="mimeType [ ;charset =characterSet ]" |
����"text/html;charset=ISO-8859-1"
����JSP�ļ���ʹ�õ�MIME type��character encoding���ַ����룩��������Ӧ�ͻ��˵�������������ʹ��JSP��������Ч���κ�MIME type��character set���ַ�����.Ĭ�ϵ�MIME type��text/html������Ĭ�ϵ��ַ�������ISO-8859-1�� 3��<jsp:forward>Ԫ��
�������ͻ��˵�����ת����һ��HTML�ļ���JSP�ļ����ű��δ�����
����JSP���<jsp:forward page="{ relativeURL | <%= expression %> }" />
�������ӣ�
����<jsp:forward page="/dong/hello.jsp" />
����������
����<jsp:forward>��ǩ������������һ��JSP�ļ�ת������һ���ļ�������
�����ر�ע�⣺JSP��������JSPҳ��<jsp:forward>�����Ĵ��벻��ִ�С�
����˵��������JSP�ļ�������������Ϊ������������ʹ��Ĭ�ϵ�Pageָ��ֵ��ֱ�����û�������buffer��С��������������ת��֮ǰ�������������ա���������������Ϊ�ǻ�������������Pageָ������buffer=none��,�������������Ѿ������ݣ���ʹ��<jsp:forward>Ԫ�أ����ᵼ�·Ƿ����⡣
�������� ����page="{ relativeURL | <%= expression %> }"
�����������������ý�Ҫת�����ļ�������URL.
������URL���ܰ���Э�������˿ںŻ������������ڵ�ǰJSP�ļ���˵�ġ��������Ǿ��Ե�ַ����"��"��ʼ������·��������Web��Ӧ�÷����������� 4��<jsp:getProperty>
����ȡ��Bean���Ե�ֵ���Ա��ڽ���ҳ������ʾ��
����JSP���<jsp:getProperty name="beanInstanceName" property="propertyName"/>
��������
����Bean�ij���������
����package AccessDatabase;
����public class Readdate
����{
����private String username="changcheng";
����public String void getUsername(){return username; }
����}
����JSP�ļ�������Ϊ��
����<html><body>
����<jsp:useBean id="init" scope="page" class="AccessDatabase.readdate" />
������Bean��ȡ��������Ϊusername��ֵΪ��
����<jsp:getProperty name=" init " property="username" />
����</body></html>
����ִ�к���ʾ����Ϊ��
������Bean��ȡ��������Ϊuser��ֵΪ��changcheng
����������
������ʹ��<jsp:getProperty>ǰ��������ʹ<jsp:useBean>Ԫ�ش���������һ��Beanʵ����<jsp:getProperty>��ǩ������ȡ��JavaBeans����ֵ,�൱�ڵ���Bean�е�ij�����Ե�getXXX()������
�������ԣ�
����name="beanInstanceName"
������<jsp:useBean>��ǩ��������Beanʵ�������֡�
����property="propertyName"
����Bean���Ե����֡�
����˵����ʹ��<jsp:getProperty>Ԫ��ʱ�������У�<jsp:getProperty name=" init " property="username" />��username������Bean(Readdate)�е����ԣ��Ҹ�Bean��Ҫ��getUsername()��������������ʱ�������� 5��<jsp:include>
������JSP�ļ��У�����һ����̬����̬�ļ�.
����JSP�<jsp:include page="{ relativeURL | <%= expression %>}" flush="true" />
�������ӣ�
����<jsp:include page="jsp/dadi.jsp" />
����<jsp:include page="hello.html" />
����<jsp:include page="/index.html" />
�������ԣ�
����<jsp:include>��ǩ����������һ����̬�ļ�����̬�ļ���һ����̬�ļ���ִ�к����������ݲ�������JSPҳ���С�һ����̬�ļ�������������Ӧ�����ҽ�ִ�н������뵽JSPҳ���С�
����<jsp:include>��ǩ�ܴ��������ļ����ͣ����㲻֪�������ļ��Ǿ�̬����̬���ļ�ʱ��ʹ�øñ�ǩ�Ƿdz������ġ�
������include����ִ�����Ϻ���JSP���潫����ִ��JSP�ļ�ʣ�µ��ļ����롣 ����page="{ relativeURL | <%= expression %>}"
����������ָ���������ļ�����URL����URL���ܰ���Э�������˿ںŻ���������URL�Ǿ��Ի������ڵ�ǰ�ʣӣ��ļ���˵�ġ��������Ǿ��Ե�ַ����"��"��ʼ������·�������ģ�eb��Ӧ�÷��������� ����flush="true"
������JSP�ļ��У�������flush="true",��Ϊ������һ��Ĭ��ֵ�� 6. <jsp:plugin>
��������һ��plugin�������ͻ����Ա�ִ��applet��Bean
����JSP���
����<jsp:plugin
����type="bean|applet"
����code="classFileName"
����codebase="classFileDirectoryName"
����[ name="instanceName"]
����[ archive="URIToArchive, ..." ]
����[ align="bottom|top|middle|left|right" ]
����[ height="displayPixels"]
����[ width="displayPixels"]
����[ hspace="leftRightPixels"]
����[ vspace="topBottomPixels"]
����[ jreversion="JREVersionNumber | 1.1"]
����[ nspluginurl="URLToPlugin"]
����[ iepluginurl="URLToPlugin"]>
����[ <jsp:params>
����[ <jsp:param name="parameterName" value="parameterValue"/>]+
����</jsp:params> ]
����[ <jsp:fallback> text message for user </jsp:fallback> ]
����</jsp:plugin>
�������ӣ�
����<jsp:plugin type=applet code="Molecule.class" codebase="/html">
����<jsp:params>
����<jsp:param name="molecule" value="molecules/benzene.mol" />
����</jsp:params>
����<jsp:fallback>
����<p>Unable to load applet</p>
����</jsp:fallback>
����</jsp:plugin>
����<jsp:params>
����<jsp:params>Ԫ���ڼ���������ʱ����applet��Bean���ݲ�������ֵ������pluginû����������jsp:fallback>Ԫ�ؽ���ʹ�����ṩһ����Ϣ������plugin�����˵���applet��Beanû��������plugin��������һ��window���ڣ����û����ͳ�����ԭ����
�������ԣ�
����type="bean|applet"
��plugin��ִ�еĶ��������͡�������ָ��Bean��applet����Ϊ��������û��Ĭ��ֵ�� ����code="classFileName"
����plugin��ִ�е�JAVA���ļ������֡����ļ���������������.class��չ�����ļ�����������codebase������������Ŀ¼�� ����codebase="classFileDirectoryName"
��������applet������Ŀ¼�������Ի����Ե�ַ������û���ṩ��ֵ������<jsp:plugin>��JSP�ļ���·������ʹ�á� ����name="instanceName"
����Bean��appletʵ�������֣���ͬ��JSP�ļ�ͨ���������ͨ�š� ����archive="URIToArchive, ..."
����һ���ö��Ÿ�����·���б�����·���б�ָ������װ����װ�ص����ļ���λ�á���װ������λ��codebase������������Ŀ¼�� ����align="bottom|top|middle|left|right"
����applet��Bean����ʾ��ͼ����λ����������JSP����ҳ���е�����������˵�ģ�������JSP�ļ��а���<jsp:plugin>���С���ֵͬ����ʾ�������£�
����bottomʹͼ���ĵײ�����һ�ı��еĻ��߶��롣
����Topʹͼ���Ķ�������һ�ı��еĶ������롣
����Middleʹͼ���Ĵ�ֱ��������һ�ı��еĻ��߶��롣
����Leftʹͼ��������.
����Rightʹͼ���Ҷ���. ����height="displayPixels" width="displayPixels"
����applet��Bean������Ϊ��λ��ʾ�ij�ʼ�߶ȺͿ��ȣ�������applet��Bean�������κδ��ںͶԻ���. ����hspace="leftRightPixels" vspace="topBottomPixels"
����applet��Bean������Ϊ��λ��ʾ��ͼ�������ң������£�֮�������Ĵ�С��һ����һ���dz�С�ķ���ֵ��
����jreversion="JREVersionNumber|1.1"
����applet��BeanҪ����JAVA����ʱ������JRE���İ汾��Ĭ�ϵ�ֵ��1.1 ����nspluginurl="URLToPlugin"
�����û�ʹ��Netscape Navigator������ʱ������JRE������URL������������URL��ַ����Э�������˿ںź������� ����iepluginurl="URLToPlugin"
�����û�ʹ��Internet Explorer������ʱ������JRE������URL.����������URL��ַ����Э�������˿ںź������� ����<jsp:params>[ <jsp:param name="parameterName" value="parameterValue"/>]+</jsp:params>
�������ݸ�applet��Bean�IJ�����ֵ��Ϊ�˴��ݶ���������ֵ���������ڡ�jsp:params>Ԫ����ʹ�ö���<jsp:param>��ǩ. Appletsȡ�ò�����ͨ��java.applet.Applet.getParameter������ ����<jsp:fallback> text message for user </jsp:fallback>
��������plugin��������ʹ��ʱ����ʾ���û����ı���Ϣ ��7��<jsp:setProperty>
��������Bean��һ������������ֵ��
����JSP���
����<jsp:setProperty name="beanInstanceName"
����{
����property= "*" | property="propertyName" [ param="parameterName"] | property="propertyName" value="{ string | <%= ����expression %> }"
����}
����/> �������ӣ�
����<jsp:setProperty name="init" property="*" />
����<jsp:setProperty name="init" property="username" />
����<jsp:setProperty name="init" property="username" value="lili" />
�������ԣ�
����<jsp:setProperty>��ǩ��������JavaBean�����е�����ֵ������ʹ��<jsp:setProperty>Ԫ��ǰ,������ʹ��<jsp:useBean>��ǩ������������Bean.��<jsp:setProperty>�е�name��ֵ�������ڡ�jsp:useBean>�е�id��ֵһ��.
����һ���������Ե�ֵ�����з�����
����(i)ʹ��<jsp:setProperty name="beanInstanceName" property="*" />���� �����ɽ��û������е�����ֵ����Щֵһ���ǿͻ����������е�Ԫ�ص�ֵ������Ϊ�����洢��request�����У���Bean�е���ƥ�������Ը�ֵ����ʱ��Bean�����Ե����ֱ����Ϳͻ��˱�����Ԫ�ص�����һ����
����(ii)ʹ��<jsp:setProperty name="beanInstanceName" property="propertyName" [ param="parameterName"] />������ ������������һ���ض���ֵ��Bean����ƥ�������Ը�ֵ������ƥ�������Ը�ֵ��
����(iii)ʹ��<jsp:setProperty name="init" property="username" value="{ string | <%= expression %> }" />���������ַ�����ֵ������ʽ��ֱֵ������ΪBean������
�������Ժ��÷��� name="beanInstanceName"
������<jsp:useBean>��ǩ�б����������õ�Bean��ʵ����. Name��ֵ������<jsp:useBean>�е�id��ֵһ�¡� ����property="*"
��������������һ��������Bean���Ե�ֵ���ͻ��˱�����Ԫ�ص�ֵһ���Ը���Bean����ƥ�������Ը�ֵ�����⣬����Bean��һ������û�к�����Ӧ�ı���Ԫ�أ����������Խ��������á� ����property="propertyName" [ param="parameterName"]
�������ñ�����һ��Ԫ�ص�ֵ��Bean��һ�����Ը�ֵ������Ԫ��������������һ��ʱ����������paramָ��һ�������� ��8��<jsp:useBean>
�������û�һ��ָ�����ֺ�ʹ�÷�Χ��Bean.
����JSP���
����<jsp:useBean
����id="beanInstanceName"
����scope="page|request|session|application"
����{ class="package.class"| type="package.class"|
����class="package.class" type="package.class"|
����beanName="{ package.class | <%= expression %> }" type="package.class"
����}
����{ /> |
����> other tags </jsp:useBean>
����} �������ӣ�
����<jsp:useBean id="init" scope="page" class="chinaa.basket" />
����<jsp:setProperty name="init" property="*" />
����<jsp:useBean id="hello" scope="session" class="dadi.reg" >
����<jsp:setProperty name="hello" property="n" value="45" />
����</jsp:useBean> �������ԣ�
����<jsp:useBean>��ǩ���ȵ���һ��ָ�������ֺ�ʹ�÷�Χ��Bean����������Bean�����ڣ����� Bean��
�������Ժ��÷� ����id="beanInstanceName"
���������û���Bean������.��������JSP�ļ��ı���ʽ���ű�����ʹ�øñ�������������Bean�Ѿ�����һ��<jsp:useBean>������idֵ����ͬԭ����<jsp:useBean>��ǩ��ʹ�õ�id����ͬ. ����scope="page|request|session|application"
��������Bean���ڵķ�Χ��Ĭ��ֵ��page��Bean�ı�������ָ���ķ�Χ��ʹ�ã�����ʹ���������������� ����class="package.class"
����ָ��Bean�Ĵ���λ�ü������ĸ����е��ĸ��ࡣ������dz����࣬������һ�������ġ��������캯���������������ϸ����ִ�Сд�ġ� ����class="package.class" type="package.class"
��������type��ֵ���Ժ��ࡢ�����ij���������ʵ�ֵĽӿڵ�����һ���� ���Ͼ��DZ�дJSPҪ�õ���һЩ������߲���Ҳ������һ�������գ�����Ҫ��ʱ�����в�ѯ���ɣ���ʹ���л���Ȼ��Ȼ������������
10.3.9 JSP�е����ض���(1)
����JSP��Ƕ��ʽ�����ԣ�������ʽ�İ�һЩ�����IJ������ݽ���������Request������Response�����ȣ�������JSP�淶���ṩ�˼��������Ķ�����ʵ�����ι��ܡ���ν�����Ķ����Ǵ���Լ����ʹ��һ��������ָ��ij���ض��Ķ������ڱ�дJSP��ʱ��������ʽ����������ʹ�ã���JSP���渺���ڽ��͵�ʱ���������������뵽��������.java�ļ��С����õ�����������application, session, request, response, out, page, exception, pageContext�� 1��session����
����ǰ����Servlet�����Ѿ��ᵽ�������ͻ���һ�η���Web����������Ŀ¼(һ��Web��������һ��������"����Ŀ¼")�µ���ҳ�ļ�ʱ��Web���������Զ�����һ��session����Ϊ������Ψһ��ID�ţ��ͻ����Խ�����Ҫ��һЩ��Ϣ���浽��session�������Ա���Ҫʱʹ�á�session��������ָͨ��getSession���취�õ��Ķ�������JSP��������������session������ʹ�ö��߿��Բμ�Servlet API 2��application����
������Web����������ʱ��Web���������Զ�����application������Application����һ������������һֱ���ڣ�ֱ��Web�������رա����ˣ�application��������ʵ�ֶ��ͻ��������ݹ�����
����һ��Web�����������ж�������Ŀ¼����Web����������ʱ�����Զ�Ϊÿ������Ŀ¼������һ��application��������Щapplication�������Զ��������Һͷ���Ŀ¼һһ��Ӧ��
����application���������ڣ���Web������������Web�������رա�
����application�����������ڵ����÷�Χ����ͬһ������Ŀ¼A�µ�������ҳ�ļ��У������Զ�"�ͷ���Ŀ¼A��Ӧ"��application�������в��������ҷ��ʷ���Ŀ¼A�����пͻ�������һ��application���������ˣ����ڸ�application�д���������Ϣʱ�����з��ʸ÷���Ŀ¼A�Ŀͻ����ܹ��������з��ʣ�ʵ���˶��ͻ�֮�������ݹ�����
����application�����Ļ�����:javax.servlet.ServletContext�ࡣ�����ø����е�getServletContext()����ȡ��application��������ʹ�÷����μ�Servlet API�� ��3��request����
����request������Ҫ����ȡ�ÿͻ��ڱ������ύ��������Ϣ��������ҳ֮��������Ϣ���ݵȡ�ͬʱͨ����Ҳ����ȡ��Web�������IJ�������Servlet�����е�Request����������Ӧ�ġ�
����request�����Ļ���Ϊ��javax.servlet.ServletRequest
����������������http,����javax.servlet.HttpServletRequest
����������ʹ�÷����μ�Servlet API�� ��4�� respose����
����respose������Ҫ�������ͻ���������Ϣ����Ӧ�ͻ��˵�����Servlet�����е�Response����������Ӧ�ġ�
����respose�����Ļ����ǣ�javax.servlet.ServletResponse
������������Э����http.��Ϊjavax.servlet.HttpServletResponse.
����������ʹ�÷����μ�Servlet API�� ��5��out����
��out�����������ͻ����������ݡ�
��out���������ǣ�javax.servlet.JspWriter�࣬��Servlet����HttpServletResponse�õ���PrintWriter���в�ͬ�����Ƕ��Ǵ�
Writer�̳ж��������Ի����ϻ���һ���ġ�
����������ʹ�÷����μ�Servlet API�� ��6��page����
����page�����ǵ�ǰJSPҳ�汾����һ��ʵ�������������ǣ�java.lang.Object��
�����䷽������Object���еķ������磺Class getClass()����һ������������ʱ����Ӧ�����ı�ʾ���Ӷ����Եõ���Ӧ����Ϣ��String toString()���ص�ǰ�������ַ�����ʾ��page�����ڵ�ǰҳ���п�����this���档
��7��exception����
������JSPҳ����ִ�й����з�������������ʱ�����Զ�����exception������
�����ڵ�ǰҳ����<%@ page isErrorPage="true" %>���úͿ���ʹ�ø�exception������������ҳ��������Ϣ��
����exception�����������ǣ�java.lang.Exception��.
����exception�����ij��÷���Ϊ��
����String getMessage()
��������ҳ���ij�����Ϣ������û����null
����void printStackTrace()
�����Ա���������������ʽ����ӡ����ʾ��ǰexception��������ִ�й켣.
10��4 JSP��Servlet�Ľ���ʹ�� ��ʹ��JSP����������վʱ����ǿ��ʹ��Servlet��������Ϊʲô�أ�Servlet��Ӧ����û�������ģ����dz��ʺϷ������˵Ĵ����ͱ��̡�����������Servlet����������HTML�ı�����ô����һ�����䷱�������顣�����������ʺϻ���ȥ�������������˷ѳ���Ա������������Servlet���ʺϴ������˵�������ǰ�˵�Ч����JSP��ʵ�ָ�Ϊ���ʡ�
�������ڵ�JSP������������ʹ��JSP�ķ�ʽ����Щ��ʽ�����Թ���ΪJSPģʽ1��JSPģʽ2����Ҫ�IJ������ڴ�������������λ�ò�ͬ����ģʽ1�У�JSPҳ��������Ӧ���������������ؿͻ���������Ȼ����ͼ�����ݵķ��룬��Ϊ���е����ݶ�����bean������������ģʽ1���Ժܺõ�����С��Ӧ�õ���Ҫ����ȴ������������Ӧ�õ���Ҫ������ʹ��ģʽ1�������ᵼ��ҳ�汻Ƕ��������Script��Java���롣�ر��ǵ���Ҫ��������ҵ���ܸ���ʱ�����������ú����ء�Ҳ��������Java����Ա��˵���ⲻ�Ǵ����⡣����������������ǰ̨����������Ա���ڴ�����Ŀ�У����Ǻܳ����ģ��������Ŀ�����ά�����������ѡ����κ���Ŀ�У�������ģʽ�������ǻᵼ�¶��岻������Ӧ����Ŀ���������ѡ���ͼ��ģʽ1��ʾ��ͼ��
JSPģʽ2��һ��������̬���ݵ�ʵ�֣�������Servlet��JSP���������������ּ���ԭ�е��ŵ㣬����JSP������ҳ�棬����Servlet�����ɴ����Ĵ�����Servlet����һ�������ߵĽ�ɫ����������Ӧ�ͻ������ţ�Servlet����JSP��Ҫ��Bean�Ͷ������ٸ����û�����Ϊ���������ĸ�JSPҳ�淢���û����ر�Ҫע�����ǣ�JSPҳ����û���κ���ҵ����������ֻ�Ǽļ���Servlet��ǰ������Beans���߶������ٽ���̬���ݲ���Ԥ������ģ�塣
�����ӿ����Ĺ۵���������һģʽ���и�������ҳ�����֣������Ŀ����߽�ɫ���֣����Գ��ֵ����ÿ���С���еĽ���������Ա����ʵ�ϣ�Խ�Ǹ��ӵ���Ŀ��ʹ��ģʽ2�ĺô���Խͻ����
����ʹ��ģʽ2��JSP��Servlet�����ڹ����������ȵķֿ�����ȷ��ʹ��ģʽ2������һ�����Ļ��Ŀ���Servlet���Լ�ֻ������ʾ��JSPҳ�档��һ���棬ģʽ2��ʵ�ֺܸ��ӣ����ˣ��ڼ���Ӧ���У����Կ���ʹ��ģʽ1��������ģʽ2��ʾ��ͼ��
��Web�Ľ����е���ʹ����һ��ģʽ�Ǻ���Ҫ����ǰ�滮��ֻ�л����˴����ľ�������������ȷ����Ч��ѡ������֮��վ���費���Ǽ��������⣬�����Ĺ滮�Ǻ���Ҫ�ģ�������ѧϰJSP��Servlet��ͬʱ��Ӧ��ע��������ȡ˼���ľ����������ǻ���ʱ�ģ���˼��ȴ����Զ�м�ֵ�ġ�
2�� ʲô��WebӦ�ó�����
3�� ʲô��Servlet����һ��Java������ʲô������
4�� ʲô��JSP����Java��ʲô��ϵ��
5�� JSP��Servlet����Щ��ͬ�㣿
6�� JSP��Servlet����Ҫ��;��
10��1 Servlet�ĸ������������ 10.1.1 Java Servlet�ĸ���
����Java Servlet��һ��ר�����ڱ�д����������Ӧ�ó�����Java���������л���Java�ķ������˱��̶��ǹ�����Servlet֮�ϵġ���J2EE��Servlet�Ѿ���һ������������ ��J2EE�и�Servlet���ص�һ������javax.servlet��������������Servlet������Ϊһ���ӿ�javax.servlet: Interface Servlet������Servlet���߲��ε�һ�����������Ǻ�����Э���صġ�ͬ����javax.servlet�У�ʵ����һ���� javax.servlet: class GenericServlet��������ʵ����Servlet�ӿڣ�Ҳ�Ǻ�Э���صġ����������ǹ���������Э�����ص�Servlet�����͵�ͨ�õĸ��ࣨ����HttpServlet�Ǵ����̳ж����ģ�����������Ҳ�ܿ�����һ�㣩�� Ҳ����˵Servlet�����õ�����Э�������Ƕ��ֶ����ģ�����HTTP��FTP��SMTP��TELNET�ȣ����Ǿ�Ŀǰ���ԣ�ֻ��HTTP�����Ѿ��γ��˱���Java��������Ӧ��������������javax.servlet.http��javax.servlet.jsp���ֱ���Ӧ����Ҫ������Servlet��JSP���̡�����ͨ����˵��Servlet������Ҫ����ָ����HTTP��Servlet���̣��õ��ľ���javax.servlet.http���е��ࣨ���͵ľ���HttpServlet�ࣩ��ʵ����Java Servlet���̵ĸ���Ҫ����һЩ������������Ҳ��Լ���׳ɵ�ʹ��Servlet��ָ��HTTP Servlet�ı��̣�������������Ҫ�˽��ġ�����JSP���ն���Ҫ����JSP����ת����Servlet�����ģ�����Servlet���̺�һ����Java������û�д��������ģ�ֻ��Ҫ�˽�һ���Ĺ淶���ɣ����������������Ƚ���Servlet�ı��̣��������Ժ�����JSP�Ǻܴ����кô��ģ�������ʹ�õ�ʱ������JSP��Ϊ����һЩ��
����Ŀǰ��Servlet����һ���ǵ������IJ�������ͨ��һ���ķ������ӵ�Web��������Servlet��������ʶ��ΪServlet��������ЩHTTP�����ػ�������������������HTTP������Web����������ͨ���ķ�ʽ��������Servlet������װ�غ��ʵ�Servlet���ڴ��У�����Servlet��û�����еĻ���������һ������ʹ�õ��߳��������������ٰ�Servlet���������ص�����������Web�ͻ�����
����Java Servlet��Java Applet����������Ӧ�����ֳ������ͣ�Applet�����ڿͻ��ˣ�����������ִ�У���Servlet�ڷ������ڲ����У�ͨ���ͻ����ύ�������������У�������ѧϰ���̿������ıȽϡ� ����Servlet����Java��д�ģ������������������п�ƽ̨�����ԣ�����Servlet������������ȫ��ƽ̨���صģ�ͬ����Servlet��ȫ������Apache��IIS�Ȳ�ͬWeb��������ִ�У����ܵײ��IJ���ϵͳ��Windows��Solaris��Mac��Linux������������֧��Java�IJ���ϵͳ��
����Servlet�Ǹ���ͨ��Java����һ�����DZ��������ֽ�������JVMִ�еġ����ȴ�ͳ��CGI������CGI���ñ��ش���ֱ��ִ�еģ���������ÿ�οͻ��˷�������������������һ���µij������������������ͰѸ߸���ǿ�Ӹ��˷�������Դ����������CGIʹ�ýű����Ա�дʱ����perl���������������������Խ��ͳ�����Խ�࣬ռ�õ��ڴ���Խ�࣬����CPUҲԽ�࣬����Ӱ��ϵͳ���ܡ�
����Servlet������Servlet����������Java�������У������Կͻ��������������ѣ���CGI��ͬ���ǣ�����������ֻҪװ��һ��Servlet���ܹ������µ�������ÿ��������ʹ���ڴ����Ǹ�Servlet����ͬ����������Ч�ʱ�CGI���øߡ��������÷������˽ű�����ASP��PHP�����Խ��ͳ��������ó��������˿��Լӿ������������У�����Ч�ʻ��DZȲ���������Servlet��ʵ�ʵ�ʹ��Ҳ�Ѿ�֤����Servlet��Ч�ʺܸߵķ������˳����ʺ���������Web������Ӧ�ó�����
����Java Servlet����ʮ�ֹ㷺��Ӧ�á������ܼĴ����ͻ��˵�������Java��ǿ���Ĺ��ܣ�ʹ��Servlet������ʵ�ִ����ķ������˵Ĺ���ά�����ܣ��Լ����������������磬������������������ת���������� 10.1.3 Servlet�����л��� ���͵�Servlet���л�����JSWDK��Tomcat��Resin�ȣ��⼸���������ѵ��������ʺ�����ѧϰServlet��JSP�����Ƕ��Դ�һ����HTTP Server��ֻ���������ü���Ͷ��ʹ�ã���Ҳ�������ǰ����õ�Web�������ϣ���Apache��IIS�ȣ��ṩС��ģ��Web������һЩ��ҵ�Ĵ����͵�֧��Servlet��JSP��Web����������JRun��Web Sphere��Web Logic�ȵȣ����ñȽϸ��ӣ������ʺϳ�ѧ�ߡ����ǹ��ܽ�Ϊǿ�����������Ķ��߿���һ�ԡ� 10.1.7 Servlet�ı��� Servlet�ı�����һ����Java��������ȫһ���ģ���ʹ��javac������ʱ������Ҫ�κ������IJ�����ֻҪServlet�ı�д����ȷ�ģ������������ɵ�Class�ļ��Ϳ�����ΪServlet�������ˡ�
����ʾ���� import java.io.*;
������import java.util.*;
������import javax.servlet.http.*;
������import javax.servlet.*;
������//������Ҫ�İ�
������public class HelloServlet extends HttpServlet {
��������������������//����Servlet������HttpServlet����
����������public void doGet (HttpServletRequest req, HttpServletResponse res)
����������throws ServletException, IOException
����������//doGet()������Servlet�ĺ��ģ��������������ĵط�
������{
������res.setContentType("text/html");
����������//������Ӧ������Ϊtext/html
������PrintWriter pw = res.getWriter();
����������//��HttpServletResponse�õ������� ������pw.println("<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
������pw.println("<head>");
������pw.println("<meta http-equiv=""Content-Type"" content=""text/html; charset=ISO-8859-1"">");
������pw.println("<!-- The Servlet expression tags interpolate script variables into the HTML -->");
������pw.println("<title>Hello, world!</title>");
������pw.println("</head>");
������pw.println("<body bgcolor=#cc99dd>");
������pw.println("<h1>Hello, world!</h1>");
������pw.println("</body>");
������//���������䶼�����ͻ��˴�ӡHTML�ı�
������pw.close();
������//�ر�HttpServletResponse��ʹWeb������֪����Ӧ����
����}
����public HelloServlet() {} //���캯�������Բ�Ҫ
��} 10��2 Servlet��Ӧ��ʵ�� 10.2.1 Servlet�����������ķ��� ������HTML��ʹ�����㷺�Ĵ�����Ϣ���ֶΡ�������Servlet�������Ľ��������ڿͻ�����������֮��������һ��������Servletʹ��HttpServlet���еķ������������н�������HttpServlet�����м���δ��ȫʵ�ֵķ������������Լ����巽�������ݣ����DZ�����ȷʹ�÷���������ʹHTTP Server�ѿͻ�������ȷ��ӳ�䵽��Ӧ�ĺ����ϡ�
����doHeader ���ڴ���HEADER����
����doGet ���ڴ���GET������Ҳ�����Զ���֧��HEADER����
����doPost ���ڴ���POST����
����doPut ���ڴ���PUT����
����doDelete ���ڴ���DELETE����
����HttpServlet��Service�������������յ�һ��OPTIONS����ʱ�������Զ�����doOptions�����������յ�һ��TRACE����ʱ����doTrace��DoOptionsĬ��ִ�з�ʽ���Զ�����ʲô����HTTP��ѡ�����ĸ���Ϣ��
������ʹ����Щ����ʱ������������������һ���������Կͻ��˵�����HttpServletRequest���ڶ������������ͻ��˵���ӦHttpServletResponse�� һ��HttpServletRequest�����ṩ����HTTPͷ�����ݣ�Ҳ������ȡ�ͻ��˵����ݡ�������ȡ��Щ����ȡ����HTTP������
�������ܺ���HTTP��ʽ����������getParameterValues���������ض����ƵIJ���ֵ�� ��HttpServletRequest,HttpServletResponse�ӿڷֱ��̳���ServletRequest��ServletResponse�ӿڣ�getParameterValues��getWriter�������������Ƚӿ��еķ�����
��������HTTP GET�����ķ�ʽ��getQueryString�������᷵��һ�������������ʷ����IJ���ֵ��
����������HTTP POST��PUT��DELETE�����ķ�ʽ��HttpServletRequest�����ַ�������ѡ�����������ı����ݣ�����ͨ��getReader�ķ����õ�BufferedReader��ȡ���ݣ������Ƕ��������ݣ�����ͨ��getInputStream�����õ�ServletInputStream��ȡ���ݡ�
����Ϊ����Ӧ�ͻ��ˣ�һ��HttpServletResponse�����ṩ�������ݸ��û�������������һ������getWriter�����õ�һ��PrintWriter�����ڷ����ı����ݣ���һ�ַ�������getOutputStream�����õ�ServletOutputStream�����ڷ��ض��������ݡ���ʹ��Writer��OutputStream֮ǰӦ������ͷ����HttpServletResponse������Ӧ�ķ�������Ȼ����Writer��OutputStream����Ӧ�����岿�ַ����û������ɺ�Ҫ�ر�Writer��OutputStream�Ա��÷�����֪����Ӧ�Ѿ������� ����PrintWriter out = response.getWriter();
������ out.println("Request URI: " + request.getRequestURI()+"<br>");
������������ ����֪����ͬһ̨�����ϣ����еı��뷽ʽ����һ���ģ�һ������ƽ̨��gb2312��Ӣ��ƽ̨��ISO-8859-1�����������ϵ���̨���������ܱ�֤���ǵı��뷽ʽ����һ���ģ���ʱ�����п��ܳ������������⡣�ڽ���HTTP���紫����ʱ����ͳһ���õı��뷽ʽ��ISO-8859-1����ʱ���������ǰ��ձ��ر����������ͻ��������⣬��Ҳ��Servlet��ʵ�����紫����ʱ��һ���������ĵط����������Զ����б��ر��뵽ISO-8859-1��ת��������ֱ�Ӵ�ӡ�Ļ��ͻ��������롣ԭ���Ͻ��κγ��ִ�ӡ�ַ����ĵط���������Ҫ���б���ת���ģ����������ַ��ڲ�ͬ�ַ����¶�Ӧ��ͬ�ı��룬���ڴ�ӡ�����ַ���ʱ���Ͳ���Ҫת���ˡ���Servlet���̵Ĺ淶�п��ܻ��ı������鷳��״������ͬ���ǣ��������ύ�ı������ݣ�Servlet���Զ�����ת���ɱ��ر����ģ����Գ����еõ���name�ַ���������gb2312�����ģ�ͬ����Ҫ����ת���������ڿͻ�����ȷ��ӡ��
�����ַ�����ת�����õķ�����
����String native_encoded = "�����ַ���";
������������������������//���ر������ַ���
����Byte[] byte_array = native_encoded.getBytes();
������������������������//�õ����ر������ֽ�����
����String net_encoded = new String(native_encoded, "ISO-8859-1");
������������������������//����ISO-8859-1�������ַ��� ����out.println(new String(new String("<td>����������</td>").getBytes(),"ISO-8859-1")); 10.2.3 ��Servlet���ƻỰ �Ự״̬��ά���ǿ���WebӦ�����������Ե����⣬�ж��ַ��������������������⣬��ʹ��Cookies��hidden���͵ı�����ֱ�Ӱ�״̬��Ϣ�ӵ�URL�еȣ�����Servlet�����ṩ��һ��HttpSession�ӿ���֧�ֻỰ״̬��ά�֣�������������Ҫ���ܻ��������ӿڵĻỰ״̬�Ĺ����� Session�ķ�����Ϊ���HTTPЭ���ľ��ޡ���ע��HTTPЭ�������ι�����--�û�������������������Ӧ�������û��˺ͷ������˵���ϵ������ɢ�ģ��������ġ�HTTPЭ�鲻���ṩ���������������û������Ĺ��ܡ��ڷ�������������Ӧ�û�������֮���������ܼ������������������������ӡ��ӷ���������������ÿһ���������Ƕ����ģ�����HTTPЭ�鱻��Ϊ����״̬Э�飬���û��ڶ�����ҳ���л�ʱ����������֪���������ݡ�Session�ij��־���Ϊ���ֲ��������ޡ�����Session�����Ϳ��Ե�һ���û��ڶ�����ҳ���л���ʱ��Ҳ�ܱ���������Ϣ�������ܶ���ǰ������ȥ���������ͱ��ü��ˡ�
�ڷ����ߴӵ���ij���ض�����ҳ���뿪Ϊֹ���Ƕ�ʱ�䣬ÿ�������߶��ᵥ������һ��Session��
����Java Servlet������һ��HttpSession�ӿڣ�ʵ�ֵ�Session�Ĺ��ܣ���Servlet��ʹ��Session�Ĺ������£�
���� ��1�� ʹ��HttpServletRequest��getSession�����õ���ǰ���ڵ�session��������ǰû�ж���session����һ���µ�session��������ʹ�÷���getSession��true��
������2�� дsession����������ʹ�÷���HttpSession.setAttribute��name��value������Session�д洢һ����Ϣ��Ҳ����ʹ��HttpSession.putValue��name��value���������������Ѿ���ʱ�ˡ�
������3�� ��Session����������ʹ�÷���HttpSession.getAttribute��name������ȡSession�е�һ������ֵ������name��һ��û�ж����ı�������ô���ص���null����Ҫע�����ǣ���getAttribute�����ı���������Object������ʹ��ǿ������ת�������磺
����������String uid = (String) session.getAttribute("uid");
����Ҳ����ʹ��HttpSession.getValue��name����������������Ҳ�Ѿ���ʱ�ˡ�
������4�� �ر�session����ʱ����session����ʹ��session.invalidate()�����ر�session�������Ⲣ�����ϸ�Ҫ���ġ���Ϊ��Servlet������һ��ʱ��֮�����Զ��ر�seesion�� HttpSession session = request.getSession(true); //����true��ָ��û��sessionʱ����һ���µ�
������Date created = new Date(session.getCreationTime());
������������������������������������//�õ�session������ʱ��
������out.println("ID " + session.getId()+"<br>");
������ ������������������������//�õ���session��id������ӡ
������out.println("Created: " + created+"<br>");
������������������������������������//��ӡsession����ʱ��
������session.setAttribute("UID","12345678");
������������������������������������//��session�����ӱ���UID=12345678
������session.setAttribute("Name","Tom");
������������������������������������//��session�����ӱ���Name=Tom ��10.2.4 Servlet����������
�����ͻ��˵�Applet���ƣ�Servlet������Servlet�ĸ����ֻص�����ԭʼ�ĺ��壩Ҳ��ѭ�ϸ����������ڡ���ÿ��Servletʵ�������������������͵��¼����������¼��ֱ���Ӧ����Servlet���������ѵ�����������
����1��init()����Servlet��һ�α�װ��ʱ��Servlet������������Servlet��init()������ֻ����һ�Ρ�����ij��Sevlet��Ҫ�����ij�ʼ����Ҫ����ôServlet��д��Ա������д�÷�����ִ�г�ʼ������������һ����ѡ�ķ���������ij��Servlet����Ҫ��ʼ������ôĬ�������½�������������init������ϵͳ��֤����init�����ɹ�������ǰ���Dz�������Servletȥ�����κ������ġ�
����2��service()������Servlet����Ҫ�ķ��������������������ĵط�������ÿ��������Servlet���潫����Servlet��service����������Servlet����������Servlet��Ӧ������Ϊ�������ݸ�����
����3��destroy()������������init�Ŀ�ѡ��������Servlet������ж��ʱ��Servlet���������ã��������������������ͷ���init����������������Դ�� Servlet���������ڿ��Ա�����Ϊ���¼�����
������1�� װ��Servlet����һ������һ���Ƕ�ִ̬�еġ�Ȼ����Servletͨ�����ṩһ��������ѡ�������Servlet����ʱǿ��װ�غͳ�ʼ���ض���Servlet
������2�� Server����һ��Servletʵ��
������3�� Server����Servlet��init����
������4�� һ���ͻ�������Server
������5�� Server����һ����������
������6�� Server����һ����Ӧ����
������7�� Server����Servlet��service������������������Ӧ������Ϊ����
������8�� service�������ù���������������Ϣ������������������Դ��������Ҫ����Ϣ
������9�� service����ʹ����Ӧ�����ķ���������Ӧ����Server�����յ����ͻ��ˡ�Service�������ܼ������������Դ�����������doGet��doPost����������Ա�Լ������ķ���
������10�� ���ڸ����Ŀͻ���������Server�����µ���������Ӧ��������Ȼ������servlet��service��������������������Ϊ�������ݸ����������ظ����ϵ�ѭ�����������ٴε���init������Servletһ��ֻ��ʼ��һ��
������11�� ��Server������ҪServletʱ�����統ServerҪ�ر�ʱ��Server����Servlet��destroy
10��3 JSP���� 10.3.1 JSP�ĸ��� JSP(Java Server Pages?)��Sun Microsystems��˾���������˾����һ��������һ�ֶ�̬��ҳ������������HTML�����У�����JSP����(tag)��Java����Ƭ�� (Scriptlet), ����JSPҳ�棬����չ��Ϊ .jsp�����ͻ�������JSP�ļ�ʱ��Web������ִ�и�JSP�ļ���Ȼ����HTML�ĸ�ʽ���ظ��ͻ���ǰ���Ѿ��ᵽ��JSPֻ�ǹ�����Servlet֮�ϵĸ߲��εĶ�̬��ҳ�������ˣ��Ӹ����Ͻ�������Servlet���ԣ�JSP��û��ʲô�µĶ������������߶�ǰ����Servlet�Ѿ�ʮ�ֵ��˽⣬��ôJSP�ĸ�����˵��Servlet����ȫһ���ģ�ֻ������ʵ�ַ��������в�ͬ�� 10.3.2 JSP���ŵ� 1. һ�α��룬���Ρ��ദ����,������ִ��Ч�ʸ�
����JSP�Ľű�������JAVA���ԣ�����������JAVA���Ե�һ�����ԡ�ͬʱ��JSPҲ֧�����ڴ�ƽ̨�� ��JSP��һ�α�����ʱ��JSPҳ��ת����servlet��Ȼ������.calss�ļ����Ժ���ҳ���иĶ���Web���������������������пͻ�������JSPҳ��ʱ��JSPҳ�治�����±��룬����ֱ��ִ���ѱ����õ�.class�ļ�������ִ��Ч���ر��ߡ�
2. ������������
���������õġ���ƽ̨��JavaBeans��EJB��Enterprise JavaBeans��������ΪJSP�����Ŀ����ṩ���㣬���ǿ��Խ����ӵĴ�����������ҳ������Ҫ��ʾ�Ķ�̬���ݼ������ݿ��IJ������ŵ������С����Զ���ʹ����Щ�����������ļ�������JSPҳ������д�ظ��Ĵ��롣
3. �����ݵ����ɺ���ʾ���з���
����ʹ��JSP������Webҳ�濪����Ա����ʹ��HTML����XML��ʶ�����ƺ�ʽ������ҳ�档ʹ��JSP��ʶ���߽ű�������ҳ���ϵĶ�̬���ݡ����ɶ�̬���ݵ�����һ�㱻��װ��JavaBean������EJB������JSP�ű����С�������ҳ����������Ա��ҳ���ı�����Ա����ͬ�����С�ͬʱ�ڿͻ���ͨ���鿴Դ�ļ���������JSP��ʶ�����䣬��������JavaBean��EJB������Ҳ���Ա���Դ�����Ĵ��롣 10.3.3 JSP�����з�ʽ
JSPһ�������з�ʽΪ����������������Web�������˷�����һ��ҳ������ʱ��Web���������ж��Ƿ���JSPҳ��������������ҳ��ֻ��һ����HTML/XMLҳ����������ֱ�ӽ�HTML/XMLҳ�����봫��Web�������ˡ�����������ҳ����JSPҳ�棬����JSP����������JSPҳ�棬������ҳ���ǵ�һ�α��������ǵ�һ�α��������ѱ��ģ���JSP���潫��JSPҳ������ת����Servlet���룬Ȼ��JSP�������÷������˵�Java������javac.exe��Servlet�������б��룬���������ֽ���(.class)�ļ���Ȼ���ٵ���JAVA������ִ�и��ֽ����ļ���Ȼ����ִ�н�������Web�������ˡ�������JSPҳ�治�ǵ�һ�α���������û�б��Ĺ�����ֱ����JSP��������JAVA������ִ���ѱ��������ֽ���.class�ļ���Ȼ��������Web�������ˡ�������һ��JSP���е�ʾ��ͼ��
�����磺��resin�������У���һ��add.jsp�ļ�����doc/Ŀ¼�£������������вο���ҳ��ʱhttp://127.0.0.1:8080/add.jsp ��ϵͳ����docWEB-INFwork_jspĿ¼������_add__jsp.class�� _add__jsp.java��_add__jsp.java.smap�����ļ�����
�����������Ѿ����ѿ���JSP��Servlet�Ĺ�ϵ��JSP���渺����JSPҳ�淭����Servlet������JSP�ڵײ���ȫ����Servlet��ָԭʼ�����ϵ�Servlet��������HttpServlet����ǰ�������ᵽJSP���̶�Ӧjavax.servlet.jsp����ȷ�еĽ����������ǹ�JSP����ʹ�õģ�������������ʱ����Ҫ�õ��������������ڱ�дJSPҳ����ʱ���Dz���Ҫ�漰��������ʹ�õġ�����Ϊʲô����Servlet��Ҫ�ڸ߲�ʵ��һ��JSP�أ�����������Servlet������д�ķ��ӳ̶��йأ�������Servlet������ҳ�����۵Ļ�������һ��ʮ��ͷ�۵����飬ʹ��JSP�Ͱѷ��ӵĴ�ӡ������JSP���棬����Ա���Ѿ������е����������档�ں��滹���н�һ���ıȽϡ� 10.3.8 JSPָ��(1)
�����������ǿ�ʼ����JSP������ӱ����Ͻ�JSP����Java��������Ϊ�����ջ��ǻᱻ������Servlet����������class�ļ�ִ�С���������JSP��Ƕ��ʽ��Java��������Щ�����ķ��Ż�����Ҫѧϰ�ġ���������һһ�о٣����߲��������ʹ��֮���ͻ���Ϥ��
1��HTMLע��
������ע���ڿͻ��˿�ͨ���鿴Դ�ļ��ķ���������
����JSP���<!--ע��[ <%= ����ʽ%> ] -->
������1
����<!-- This file displays the user login screen -->
�����ڿͻ���ҳ��Դ��������ʾΪ��
����<!-- This file displays the user login screen -->
������2
����<!-ҳ����������Ϊ��
����<%= (new java.util.Date()).toLocaleString() %> -->
�����ڿͻ���ҳ��Դ��������ʾΪ��
����<!--ҳ����������Ϊ:January 1, 2000 -->
��������
����������ע����ʹ���κ���Ч��JSP����ʽ������ʽ�Ƕ�̬�ģ����û���һ�ε��ø�ҳ������ҳ�����������µ���ʱ���ñ���ʽ������ֵ��JSP������HTMLע���еı���ʽִ����������ִ�еĽ�����ֱ�Ӳ��뵽����ʽ��ʾ�ĵط���Ȼ���ý�����HTMLע���е���������һ���������ͻ��ˡ�<!-- �� -->֮�������������������ǿ��������������ڿͻ��˿�ͨ���鿴Դ�ļ��ķ���������ע�͡�
2��JSPע��
����JSPע����ΪJSPҳ�����ĵ����ϣ����Ǹ�ע���ڿͻ���ͨ���鿴Դ�ļ��ķ����ǿ������ġ�����ע�Ͳ����͵��ͻ��ˡ�
����JSP���<%-- ע�� --%>
ע�⣺��JSPע���У�����ʹ��--%>������������һ��Ҫʹ�õĻ�������ͨ��ʹ��--%>���ܿ���
3. ����
������JSPҳ���ű�����������������
����JSP���<%! ������[����;]+���� %>
��������
����<%! int i =8; %>
����<%! int n, m, k,j; %>
����<%! String s = new String("hello"); %>
��������
������JSP�ļ��У�һ�ο�������һ�������������ͷ���������֮���÷ֺŸ�����������ʱʹ��JAVA����ʱ����������JAVA���Թ淶��
����ע�⣺
������i�� ����������������Ȼ������ʹ�á�
������ii�� ���������ԷֺŽ�β,�����ڱ���ʽ�������á�
������iii�� ͨ��pageָ����İ����������ı�����,��������JSP�ļ���ֱ��ʹ�����ǡ�
������iv�� һ�������£�һ����������Ч��Χ�DZ�ҳ�档���ǣ�����JSPԴ�ļ���<jsp:include>ָ����includeָ������һЩ��̬�ļ�����������Ч��Χ����������Ҳ����˵�������ڸþ�̬�ļ���Ҳ��Ч����������JSPԴ�ļ�����<jsp:include>ָ����������һ����̬�ļ�����JSP�ļ��е������ڸö�̬�ļ��н��������á� 4. ����ʽ
������JSP�ű������У�����ʹ���κ���Ч�ı���ʽ��
����JSP���<%= ����ʽ %>
��������1��
����<%! String s = new String("hello"); %>
����<font color="blue"><%=s%></font>
��������2��
����������ʾһ�����֣�
����<font color="blue"><%=java.lang.Math.random()%></font>
��������
��������ʽ������ֵ��Ȼ����ֵת��Ϊ�ַ���,���Ҳ�����JSP�ļ�����ʾ�ñ���ʽ�ĵط������ҿ������ı���ʹ�ñ���ʽ������ʽ��ǩ�ܰ�������JAVA���Թ淶���κ���Ч����ʽ������Ҫע�⣺����ʹ�÷ֺ���Ϊ����ʽ�Ľ�β��Ȼ�����ڽű���<%����%>��ǩ�У�����ʽҪ���Էֺ���Ϊ��β��
5. �ű���
������JSPҳ���ű������У�����һ����Ч�Ĵ���Ƭ�Ρ�
����JSP���<% ������ %>
������1��
����<%=java.lang.Math.random()%>
����<%
����for(int i=0;i<8;i++)
����{ out.println(i); }
����%>
����<% ��
����long n=6666;
����application.setAttribute("maxNumber",Long.toString(n));
����out.println(application.getAttribute("maxNumber"));
����%>
��������
�����ڽű������������������ͷ�������ʹ���κ���Ч�ı���ʽ����ʹ���κ�JSP�����Ķ������κ���<jsp:useBean>��ǩ�����Ķ�������ʹ��ҳ���������κ���Ч�����䣬����ʹ��Java���ԣ���������JAVA���Գ����淶��
����˵���������ű������������䣬���������ݱ��洢��out�����У�ͨ��out����������JSPҳ���С�
10.3.8 JSPָ��(2)��
��1��Includeָ��
������ָ�����ڰ���һ���ı����������ļ���
����JSP���<%@ include file="relativeURL"%>
�������ӣ�
����<body >
����random.jsp�е�������ʾ����Ϊ��
����<%@ include file="random.jsp" %>
����</body>
����random.jsp�ļ�������Ϊ��
����<%=java.lang.Math.random()*10000%>
������ҳ������ʾΪ:
����random.jsp�е�������ʾ����Ϊ�� 2148.093521070482
��������
����Includeָ����JSP�ļ��в���һ�������ı��ʹ������ļ������������ļ�������JSP�ļ���HTML�ļ����ı��ļ����������������ļ���JSP�ļ�����JSP������������JSP�ļ�����ִ�еĽ��������뵽��JSP�ļ���Includeָ�����ڵ�λ�á��������������ļ���HTML�ļ����ı��ļ�,��JSP���治�������б��룬ֱ�ӽ������ݲ��뵽��JSP�ļ���Includeָ�����ڵ�λ�á��ð����Ǿ�̬�����������������ļ������꣬���ҽ���Ҳ���뵽��JSP�ļ����ϣ���JSP�ļ�������ִ��includeָ�����������ݡ�
����ע�⣺
������1�����������ļ��в��ܺ���<html>,</html>,<body>,��</body>��ǩ����Ϊ���������ļ���ȫ�����ݽ������뵽JSP�ļ���includeָ�����ڵĵط�����Щ��ǩ����ͬJSP�ļ������е�ͬ���ı�ǩ������ͻ��
������2�����类�������ļ������仯����JSPҳ�潫�����±��롣
�������ԣ�
����file="relativeURL"
����file�DZ������ļ���·������ ��ֵ��һ��URL��һ���֣�û��Э�顢�˿ںŻ�����. �磺
����"error.jsp"
����"/templates/onlinestore.html"
����"/beans/calendar.jsp"
������������URL��"/"��ʼ������·����������JSPӦ�������Ķ��Եģ�JSPӦ���������Ǵ洢��application�����е�javax.servlet.ServletContext��������������URL��Ŀ¼���ļ�����ʼ������·���������ڵ�ǰJSP�ļ����ڵ�·�����Եġ�
������2. Page ָ��
������������JSPҳ����ȫ�����ԡ�
����JSP���
����<%@ page
����[ language="java"]
����[ extends="package.class"]
����[ import= "{ package.class | package.* }, ..." ]
����[ session="true|false" ]
����[ buffer="none|8kb|sizekb" ]
����[ autoFlush="true|false" ]
����[ isThreadSafe="true|false" ]
����[ info="text"]
����[ errorPage="relativeURL"]
����[ contentType="mimeType [ ;charset=characterSet ]" |
����"text/html ; charset=ISO-8859-1" ]
����[ isErrorPage="true|false"] %>
������������
����<%@ page contentType="text/html;charset=gb2312" %>
����<%@ page import="java.sql.*, java.lang.*" %>
����<%@ page buffer="8kb" autoFlush="false" %>
����<%@ page errorPage="error.jsp" %>
����������
����Pageָ�������÷�Χ������JSP�ļ���JSP�ļ���includeָ����<jsp:include>�����������κξ�̬�ļ�������JSP�ļ�����Щ��̬�ļ�һ������һ��"ƽ�Ƶ�Ԫ". ע��:Pageָ��������κζ�̬�İ����ļ�����������һ��"ƽ�Ƶ�Ԫ"ʹ�ö���Pageָ�����ÿһ��������ֻ��ʹ��һ�Σ�����import(��Ϊimport���Ժ�JAVA�������Ե�import���������ƣ����ܹ�����ʹ������������JAVA���������ܹ�����ʹ��import����һ��)�������㽫Pageָ���ŵ�JSP�ļ��������ļ����κ�һ��λ�ã��������÷�Χ��������"ƽ�Ƶ�Ԫ".Ȼ����һ���õı��ɷ����dz��������ŵ��ļ��Ķ���.
����language="java"
������JSP�ļ��Ľű��Ρ������ͱ���ʽ��ʹ�õ����ԡ���ֻ������"JAVA"�� ����extends="package.class"
��������������ָ��JAVA���ļ�����ȫ����ʹ�ø�����ʱҪС�ģ���Ϊ����������JSP���������ļ��������� ����import= "{ package.class | package.* }, ..."
����JSP�ļ��е�����һ���������ö��Ÿ����İ����б�����Щ���������ǵ��ࣩ������JSP�ļ��Ľű��Ρ�����ʽ�������ͱ�ǩ��ʹ�á������뽫import���Էŵ����ñ����������ı�ǩǰ�档�������뵼������������������import�����ö��Ž�ÿ�����������ɣ�����������һ��JSP�ļ���ʹ�ö���import. ����session="true|false"
��������������ȷ��JSPҳ���Ƿ�ʹ��HTTP session.��������ֵ��true, ��sesssion���õ��ǵ�ǰ���µ�session. ��������ֵ��false������JSP�ļ��У�����ʹ��session������Ĭ��ֵ��true. ����buffer="none|8kb|sizekb"
��������buffer�������Ĵ�С����out����������JSPҳ�����ͻ�Web������������ʱʹ�á�����Ĭ��ֵ��8kb.������ָ����buffer�������Ĵ�С����������������������ָ���Ĵ�С�� ����autoFlush="true|false"
����������ָ����������������ʱ���Ƿ��Զ�ˢ�¡�����ֵΪtrue(Ĭ��ֵΪtrue)�����Զ�ˢ�¡�����ֵΪfalse,����������ʱ��������������������buffer���Ե�ֵ��Ϊnone,autoFlush���Ե�ֵ������Ϊfalse. ����isThreadSafe="true|false"
������������ֵ��Ϊtrue,�����߳���ͬʱ����һ��JSPҳ�档��������ֵΪfalse,��һ��JSPҳ�棬JSP����һ��ֻ����Ӧһ���û���������Ĭ��ֵΪtrue�� ����info="text"
�����������ߡ��汾������Ȩ����Ϣ������ͨ��javax.sevlet.Servlet.getServletInfo()�����鵽����Ϣ����ϸ������ ����errorPage="relativeURL"
�����������������ô��������¼���JSP�ļ���·��������������·������"/"��ʼ��������·������JSPӦ���ĵ���Ŀ¼���Եģ�������Web����������������������·���������ڵ�ǰJSP�ļ����Եġ� ����isErrorPage="true|false"
����JSP�ļ��Ƿ���ʾ����ҳ�档 ��������ֵΪtrue,������ʹ������exception��������������ֵΪfalse(Ĭ��ֵҲΪfalse),��JSP�ļ��У�����ʹ��exception������ ����contentType="mimeType [ ;charset =characterSet ]" |
����"text/html;charset=ISO-8859-1"
����JSP�ļ���ʹ�õ�MIME type��character encoding���ַ����룩��������Ӧ�ͻ��˵�������������ʹ��JSP��������Ч���κ�MIME type��character set���ַ�����.Ĭ�ϵ�MIME type��text/html������Ĭ�ϵ��ַ�������ISO-8859-1�� 3��<jsp:forward>Ԫ��
�������ͻ��˵�����ת����һ��HTML�ļ���JSP�ļ����ű��δ�����
����JSP���<jsp:forward page="{ relativeURL | <%= expression %> }" />
�������ӣ�
����<jsp:forward page="/dong/hello.jsp" />
����������
����<jsp:forward>��ǩ������������һ��JSP�ļ�ת������һ���ļ�������
�����ر�ע�⣺JSP��������JSPҳ��<jsp:forward>�����Ĵ��벻��ִ�С�
����˵��������JSP�ļ�������������Ϊ������������ʹ��Ĭ�ϵ�Pageָ��ֵ��ֱ�����û�������buffer��С��������������ת��֮ǰ�������������ա���������������Ϊ�ǻ�������������Pageָ������buffer=none��,�������������Ѿ������ݣ���ʹ��<jsp:forward>Ԫ�أ����ᵼ�·Ƿ����⡣
�������� ����page="{ relativeURL | <%= expression %> }"
�����������������ý�Ҫת�����ļ�������URL.
������URL���ܰ���Э�������˿ںŻ������������ڵ�ǰJSP�ļ���˵�ġ��������Ǿ��Ե�ַ����"��"��ʼ������·��������Web��Ӧ�÷����������� 4��<jsp:getProperty>
����ȡ��Bean���Ե�ֵ���Ա��ڽ���ҳ������ʾ��
����JSP���<jsp:getProperty name="beanInstanceName" property="propertyName"/>
��������
����Bean�ij���������
����package AccessDatabase;
����public class Readdate
����{
����private String username="changcheng";
����public String void getUsername(){return username; }
����}
����JSP�ļ�������Ϊ��
����<html><body>
����<jsp:useBean id="init" scope="page" class="AccessDatabase.readdate" />
������Bean��ȡ��������Ϊusername��ֵΪ��
����<jsp:getProperty name=" init " property="username" />
����</body></html>
����ִ�к���ʾ����Ϊ��
������Bean��ȡ��������Ϊuser��ֵΪ��changcheng
����������
������ʹ��<jsp:getProperty>ǰ��������ʹ<jsp:useBean>Ԫ�ش���������һ��Beanʵ����<jsp:getProperty>��ǩ������ȡ��JavaBeans����ֵ,�൱�ڵ���Bean�е�ij�����Ե�getXXX()������
�������ԣ�
����name="beanInstanceName"
������<jsp:useBean>��ǩ��������Beanʵ�������֡�
����property="propertyName"
����Bean���Ե����֡�
����˵����ʹ��<jsp:getProperty>Ԫ��ʱ�������У�<jsp:getProperty name=" init " property="username" />��username������Bean(Readdate)�е����ԣ��Ҹ�Bean��Ҫ��getUsername()��������������ʱ�������� 5��<jsp:include>
������JSP�ļ��У�����һ����̬����̬�ļ�.
����JSP�<jsp:include page="{ relativeURL | <%= expression %>}" flush="true" />
�������ӣ�
����<jsp:include page="jsp/dadi.jsp" />
����<jsp:include page="hello.html" />
����<jsp:include page="/index.html" />
�������ԣ�
����<jsp:include>��ǩ����������һ����̬�ļ�����̬�ļ���һ����̬�ļ���ִ�к����������ݲ�������JSPҳ���С�һ����̬�ļ�������������Ӧ�����ҽ�ִ�н������뵽JSPҳ���С�
����<jsp:include>��ǩ�ܴ��������ļ����ͣ����㲻֪�������ļ��Ǿ�̬����̬���ļ�ʱ��ʹ�øñ�ǩ�Ƿdz������ġ�
������include����ִ�����Ϻ���JSP���潫����ִ��JSP�ļ�ʣ�µ��ļ����롣 ����page="{ relativeURL | <%= expression %>}"
����������ָ���������ļ�����URL����URL���ܰ���Э�������˿ںŻ���������URL�Ǿ��Ի������ڵ�ǰ�ʣӣ��ļ���˵�ġ��������Ǿ��Ե�ַ����"��"��ʼ������·�������ģ�eb��Ӧ�÷��������� ����flush="true"
������JSP�ļ��У�������flush="true",��Ϊ������һ��Ĭ��ֵ�� 6. <jsp:plugin>
��������һ��plugin�������ͻ����Ա�ִ��applet��Bean
����JSP���
����<jsp:plugin
����type="bean|applet"
����code="classFileName"
����codebase="classFileDirectoryName"
����[ name="instanceName"]
����[ archive="URIToArchive, ..." ]
����[ align="bottom|top|middle|left|right" ]
����[ height="displayPixels"]
����[ width="displayPixels"]
����[ hspace="leftRightPixels"]
����[ vspace="topBottomPixels"]
����[ jreversion="JREVersionNumber | 1.1"]
����[ nspluginurl="URLToPlugin"]
����[ iepluginurl="URLToPlugin"]>
����[ <jsp:params>
����[ <jsp:param name="parameterName" value="parameterValue"/>]+
����</jsp:params> ]
����[ <jsp:fallback> text message for user </jsp:fallback> ]
����</jsp:plugin>
�������ӣ�
����<jsp:plugin type=applet code="Molecule.class" codebase="/html">
����<jsp:params>
����<jsp:param name="molecule" value="molecules/benzene.mol" />
����</jsp:params>
����<jsp:fallback>
����<p>Unable to load applet</p>
����</jsp:fallback>
����</jsp:plugin>
����<jsp:params>
����<jsp:params>Ԫ���ڼ���������ʱ����applet��Bean���ݲ�������ֵ������pluginû����������jsp:fallback>Ԫ�ؽ���ʹ�����ṩһ����Ϣ������plugin�����˵���applet��Beanû��������plugin��������һ��window���ڣ����û����ͳ�����ԭ����
�������ԣ�
����type="bean|applet"
��plugin��ִ�еĶ��������͡�������ָ��Bean��applet����Ϊ��������û��Ĭ��ֵ�� ����code="classFileName"
����plugin��ִ�е�JAVA���ļ������֡����ļ���������������.class��չ�����ļ�����������codebase������������Ŀ¼�� ����codebase="classFileDirectoryName"
��������applet������Ŀ¼�������Ի����Ե�ַ������û���ṩ��ֵ������<jsp:plugin>��JSP�ļ���·������ʹ�á� ����name="instanceName"
����Bean��appletʵ�������֣���ͬ��JSP�ļ�ͨ���������ͨ�š� ����archive="URIToArchive, ..."
����һ���ö��Ÿ�����·���б�����·���б�ָ������װ����װ�ص����ļ���λ�á���װ������λ��codebase������������Ŀ¼�� ����align="bottom|top|middle|left|right"
����applet��Bean����ʾ��ͼ����λ����������JSP����ҳ���е�����������˵�ģ�������JSP�ļ��а���<jsp:plugin>���С���ֵͬ����ʾ�������£�
����bottomʹͼ���ĵײ�����һ�ı��еĻ��߶��롣
����Topʹͼ���Ķ�������һ�ı��еĶ������롣
����Middleʹͼ���Ĵ�ֱ��������һ�ı��еĻ��߶��롣
����Leftʹͼ��������.
����Rightʹͼ���Ҷ���. ����height="displayPixels" width="displayPixels"
����applet��Bean������Ϊ��λ��ʾ�ij�ʼ�߶ȺͿ��ȣ�������applet��Bean�������κδ��ںͶԻ���. ����hspace="leftRightPixels" vspace="topBottomPixels"
����applet��Bean������Ϊ��λ��ʾ��ͼ�������ң������£�֮�������Ĵ�С��һ����һ���dz�С�ķ���ֵ��
����jreversion="JREVersionNumber|1.1"
����applet��BeanҪ����JAVA����ʱ������JRE���İ汾��Ĭ�ϵ�ֵ��1.1 ����nspluginurl="URLToPlugin"
�����û�ʹ��Netscape Navigator������ʱ������JRE������URL������������URL��ַ����Э�������˿ںź������� ����iepluginurl="URLToPlugin"
�����û�ʹ��Internet Explorer������ʱ������JRE������URL.����������URL��ַ����Э�������˿ںź������� ����<jsp:params>[ <jsp:param name="parameterName" value="parameterValue"/>]+</jsp:params>
�������ݸ�applet��Bean�IJ�����ֵ��Ϊ�˴��ݶ���������ֵ���������ڡ�jsp:params>Ԫ����ʹ�ö���<jsp:param>��ǩ. Appletsȡ�ò�����ͨ��java.applet.Applet.getParameter������ ����<jsp:fallback> text message for user </jsp:fallback>
��������plugin��������ʹ��ʱ����ʾ���û����ı���Ϣ ��7��<jsp:setProperty>
��������Bean��һ������������ֵ��
����JSP���
����<jsp:setProperty name="beanInstanceName"
����{
����property= "*" | property="propertyName" [ param="parameterName"] | property="propertyName" value="{ string | <%= ����expression %> }"
����}
����/> �������ӣ�
����<jsp:setProperty name="init" property="*" />
����<jsp:setProperty name="init" property="username" />
����<jsp:setProperty name="init" property="username" value="lili" />
�������ԣ�
����<jsp:setProperty>��ǩ��������JavaBean�����е�����ֵ������ʹ��<jsp:setProperty>Ԫ��ǰ,������ʹ��<jsp:useBean>��ǩ������������Bean.��<jsp:setProperty>�е�name��ֵ�������ڡ�jsp:useBean>�е�id��ֵһ��.
����һ���������Ե�ֵ�����з�����
����(i)ʹ��<jsp:setProperty name="beanInstanceName" property="*" />���� �����ɽ��û������е�����ֵ����Щֵһ���ǿͻ����������е�Ԫ�ص�ֵ������Ϊ�����洢��request�����У���Bean�е���ƥ�������Ը�ֵ����ʱ��Bean�����Ե����ֱ����Ϳͻ��˱�����Ԫ�ص�����һ����
����(ii)ʹ��<jsp:setProperty name="beanInstanceName" property="propertyName" [ param="parameterName"] />������ ������������һ���ض���ֵ��Bean����ƥ�������Ը�ֵ������ƥ�������Ը�ֵ��
����(iii)ʹ��<jsp:setProperty name="init" property="username" value="{ string | <%= expression %> }" />���������ַ�����ֵ������ʽ��ֱֵ������ΪBean������
�������Ժ��÷��� name="beanInstanceName"
������<jsp:useBean>��ǩ�б����������õ�Bean��ʵ����. Name��ֵ������<jsp:useBean>�е�id��ֵһ�¡� ����property="*"
��������������һ��������Bean���Ե�ֵ���ͻ��˱�����Ԫ�ص�ֵһ���Ը���Bean����ƥ�������Ը�ֵ�����⣬����Bean��һ������û�к�����Ӧ�ı���Ԫ�أ����������Խ��������á� ����property="propertyName" [ param="parameterName"]
�������ñ�����һ��Ԫ�ص�ֵ��Bean��һ�����Ը�ֵ������Ԫ��������������һ��ʱ����������paramָ��һ�������� ��8��<jsp:useBean>
�������û�һ��ָ�����ֺ�ʹ�÷�Χ��Bean.
����JSP���
����<jsp:useBean
����id="beanInstanceName"
����scope="page|request|session|application"
����{ class="package.class"| type="package.class"|
����class="package.class" type="package.class"|
����beanName="{ package.class | <%= expression %> }" type="package.class"
����}
����{ /> |
����> other tags </jsp:useBean>
����} �������ӣ�
����<jsp:useBean id="init" scope="page" class="chinaa.basket" />
����<jsp:setProperty name="init" property="*" />
����<jsp:useBean id="hello" scope="session" class="dadi.reg" >
����<jsp:setProperty name="hello" property="n" value="45" />
����</jsp:useBean> �������ԣ�
����<jsp:useBean>��ǩ���ȵ���һ��ָ�������ֺ�ʹ�÷�Χ��Bean����������Bean�����ڣ����� Bean��
�������Ժ��÷� ����id="beanInstanceName"
���������û���Bean������.��������JSP�ļ��ı���ʽ���ű�����ʹ�øñ�������������Bean�Ѿ�����һ��<jsp:useBean>������idֵ����ͬԭ����<jsp:useBean>��ǩ��ʹ�õ�id����ͬ. ����scope="page|request|session|application"
��������Bean���ڵķ�Χ��Ĭ��ֵ��page��Bean�ı�������ָ���ķ�Χ��ʹ�ã�����ʹ���������������� ����class="package.class"
����ָ��Bean�Ĵ���λ�ü������ĸ����е��ĸ��ࡣ������dz����࣬������һ�������ġ��������캯���������������ϸ����ִ�Сд�ġ� ����class="package.class" type="package.class"
��������type��ֵ���Ժ��ࡢ�����ij���������ʵ�ֵĽӿڵ�����һ���� ���Ͼ��DZ�дJSPҪ�õ���һЩ������߲���Ҳ������һ�������գ�����Ҫ��ʱ�����в�ѯ���ɣ���ʹ���л���Ȼ��Ȼ������������
10.3.9 JSP�е����ض���(1)
����JSP��Ƕ��ʽ�����ԣ�������ʽ�İ�һЩ�����IJ������ݽ���������Request������Response�����ȣ�������JSP�淶���ṩ�˼��������Ķ�����ʵ�����ι��ܡ���ν�����Ķ����Ǵ���Լ����ʹ��һ��������ָ��ij���ض��Ķ������ڱ�дJSP��ʱ��������ʽ����������ʹ�ã���JSP���渺���ڽ��͵�ʱ���������������뵽��������.java�ļ��С����õ�����������application, session, request, response, out, page, exception, pageContext�� 1��session����
����ǰ����Servlet�����Ѿ��ᵽ�������ͻ���һ�η���Web����������Ŀ¼(һ��Web��������һ��������"����Ŀ¼")�µ���ҳ�ļ�ʱ��Web���������Զ�����һ��session����Ϊ������Ψһ��ID�ţ��ͻ����Խ�����Ҫ��һЩ��Ϣ���浽��session�������Ա���Ҫʱʹ�á�session��������ָͨ��getSession���취�õ��Ķ�������JSP��������������session������ʹ�ö��߿��Բμ�Servlet API 2��application����
������Web����������ʱ��Web���������Զ�����application������Application����һ������������һֱ���ڣ�ֱ��Web�������رա����ˣ�application��������ʵ�ֶ��ͻ��������ݹ�����
����һ��Web�����������ж�������Ŀ¼����Web����������ʱ�����Զ�Ϊÿ������Ŀ¼������һ��application��������Щapplication�������Զ��������Һͷ���Ŀ¼һһ��Ӧ��
����application���������ڣ���Web������������Web�������رա�
����application�����������ڵ����÷�Χ����ͬһ������Ŀ¼A�µ�������ҳ�ļ��У������Զ�"�ͷ���Ŀ¼A��Ӧ"��application�������в��������ҷ��ʷ���Ŀ¼A�����пͻ�������һ��application���������ˣ����ڸ�application�д���������Ϣʱ�����з��ʸ÷���Ŀ¼A�Ŀͻ����ܹ��������з��ʣ�ʵ���˶��ͻ�֮�������ݹ�����
����application�����Ļ�����:javax.servlet.ServletContext�ࡣ�����ø����е�getServletContext()����ȡ��application��������ʹ�÷����μ�Servlet API�� ��3��request����
����request������Ҫ����ȡ�ÿͻ��ڱ������ύ��������Ϣ��������ҳ֮��������Ϣ���ݵȡ�ͬʱͨ����Ҳ����ȡ��Web�������IJ�������Servlet�����е�Request����������Ӧ�ġ�
����request�����Ļ���Ϊ��javax.servlet.ServletRequest
����������������http,����javax.servlet.HttpServletRequest
����������ʹ�÷����μ�Servlet API�� ��4�� respose����
����respose������Ҫ�������ͻ���������Ϣ����Ӧ�ͻ��˵�����Servlet�����е�Response����������Ӧ�ġ�
����respose�����Ļ����ǣ�javax.servlet.ServletResponse
������������Э����http.��Ϊjavax.servlet.HttpServletResponse.
����������ʹ�÷����μ�Servlet API�� ��5��out����
��out�����������ͻ����������ݡ�
��out���������ǣ�javax.servlet.JspWriter�࣬��Servlet����HttpServletResponse�õ���PrintWriter���в�ͬ�����Ƕ��Ǵ�
Writer�̳ж��������Ի����ϻ���һ���ġ�
����������ʹ�÷����μ�Servlet API�� ��6��page����
����page�����ǵ�ǰJSPҳ�汾����һ��ʵ�������������ǣ�java.lang.Object��
�����䷽������Object���еķ������磺Class getClass()����һ������������ʱ����Ӧ�����ı�ʾ���Ӷ����Եõ���Ӧ����Ϣ��String toString()���ص�ǰ�������ַ�����ʾ��page�����ڵ�ǰҳ���п�����this���档
��7��exception����
������JSPҳ����ִ�й����з�������������ʱ�����Զ�����exception������
�����ڵ�ǰҳ����<%@ page isErrorPage="true" %>���úͿ���ʹ�ø�exception������������ҳ��������Ϣ��
����exception�����������ǣ�java.lang.Exception��.
����exception�����ij��÷���Ϊ��
����String getMessage()
��������ҳ���ij�����Ϣ������û����null
����void printStackTrace()
�����Ա���������������ʽ����ӡ����ʾ��ǰexception��������ִ�й켣.
10��4 JSP��Servlet�Ľ���ʹ�� ��ʹ��JSP����������վʱ����ǿ��ʹ��Servlet��������Ϊʲô�أ�Servlet��Ӧ����û�������ģ����dz��ʺϷ������˵Ĵ����ͱ��̡�����������Servlet����������HTML�ı�����ô����һ�����䷱�������顣�����������ʺϻ���ȥ�������������˷ѳ���Ա������������Servlet���ʺϴ������˵�������ǰ�˵�Ч����JSP��ʵ�ָ�Ϊ���ʡ�
�������ڵ�JSP������������ʹ��JSP�ķ�ʽ����Щ��ʽ�����Թ���ΪJSPģʽ1��JSPģʽ2����Ҫ�IJ������ڴ�������������λ�ò�ͬ����ģʽ1�У�JSPҳ��������Ӧ���������������ؿͻ���������Ȼ����ͼ�����ݵķ��룬��Ϊ���е����ݶ�����bean������������ģʽ1���Ժܺõ�����С��Ӧ�õ���Ҫ����ȴ������������Ӧ�õ���Ҫ������ʹ��ģʽ1�������ᵼ��ҳ�汻Ƕ��������Script��Java���롣�ر��ǵ���Ҫ��������ҵ���ܸ���ʱ�����������ú����ء�Ҳ��������Java����Ա��˵���ⲻ�Ǵ����⡣����������������ǰ̨����������Ա���ڴ�����Ŀ�У����Ǻܳ����ģ��������Ŀ�����ά�����������ѡ����κ���Ŀ�У�������ģʽ�������ǻᵼ�¶��岻������Ӧ����Ŀ���������ѡ���ͼ��ģʽ1��ʾ��ͼ��
JSPģʽ2��һ��������̬���ݵ�ʵ�֣�������Servlet��JSP���������������ּ���ԭ�е��ŵ㣬����JSP������ҳ�棬����Servlet�����ɴ����Ĵ�����Servlet����һ�������ߵĽ�ɫ����������Ӧ�ͻ������ţ�Servlet����JSP��Ҫ��Bean�Ͷ������ٸ����û�����Ϊ���������ĸ�JSPҳ�淢���û����ر�Ҫע�����ǣ�JSPҳ����û���κ���ҵ����������ֻ�Ǽļ���Servlet��ǰ������Beans���߶������ٽ���̬���ݲ���Ԥ������ģ�塣�����ӿ����Ĺ۵���������һģʽ���и�������ҳ�����֣������Ŀ����߽�ɫ���֣����Գ��ֵ����ÿ���С���еĽ���������Ա����ʵ�ϣ�Խ�Ǹ��ӵ���Ŀ��ʹ��ģʽ2�ĺô���Խͻ����
����ʹ��ģʽ2��JSP��Servlet�����ڹ����������ȵķֿ�����ȷ��ʹ��ģʽ2������һ�����Ļ��Ŀ���Servlet���Լ�ֻ������ʾ��JSPҳ�档��һ���棬ģʽ2��ʵ�ֺܸ��ӣ����ˣ��ڼ���Ӧ���У����Կ���ʹ��ģʽ1��������ģʽ2��ʾ��ͼ��
��Web�Ľ����е���ʹ����һ��ģʽ�Ǻ���Ҫ����ǰ�滮��ֻ�л����˴����ľ�������������ȷ����Ч��ѡ������֮��վ���費���Ǽ��������⣬�����Ĺ滮�Ǻ���Ҫ�ģ�������ѧϰJSP��Servlet��ͬʱ��Ӧ��ע��������ȡ˼���ľ����������ǻ���ʱ�ģ���˼��ȴ����Զ�м�ֵ�ġ�- ת����ע����Դ��ITѧϰ�� ��ַ��http://www.t086.com/ �����������Ƽ�������
- �ر������� ��վ�������ر�������ֹת�ص�ר�������������¿�������ת�أ���������ע��������ԭʼ���ߡ����°�Ȩ������ԭʼ�������С����ڱ���վת�����µĸ��˺���վ�����DZ�ʾ������л�⡣������վת�ص������а�Ȩ��������ϵ���ǣ����ǻᾡ�����Ը�����
- �������е���ɫ
- �������ж�IP��ַ��A��B���C��
- ������ϵ��Ц�� (ʷ����ȫ��
- ��Google���������ŵ���ͨv4.0
- ���ٶ�ͳ��URL��hm������utm�����Ķ�Ӧ��ϵ
- ��ƻ������MACbook Air���ݼ���ȫ
- ���������ԡ���װ Windows XP ����ϵͳ��ͼ��ȫ����
- ��Linux��ʹ��host��dig��nslookup��ѯDNS
- �����Լ���VPS�Google��������
- ��С�ڴ�VPS֮Nginx+PHP-fpm�߸����Ż���ѹ�����Է���
- ������������������̸�����ɶ��ر�
- ��������������ѡʳƷ����2020�ļ��ȵ�Ͷ�ʲ��Ժ���������
- �����ڵ�����֤50���ƴ�50����ָ֤�������Ĺ���
- ����֤50����Щ��Ʊ_��֤50Ȩ����������
- ������300����֤50����֤500��ָ��2019���ڶ��ζ��ڵ���������
- ������300��ֵ/�ɳ�ָ�����Ʒ����������й�ƽ��Ȩ���½�
- ����ָ֤��������֤50��ָ��������
- ����ָ֤��������֤����ָ��������
- ����ָ֤��������֤100ָ��������
- ����ָ֤����������300ָ��������