?? 第9章(1).txt
字號:
out.println("<BR> server name:");
String serverName=request.getServerName();
out.println(serverName);
// 獲取服務器的端口號:
out.println("<BR> ServerPort:");
int serverPort=request.getServerPort();
out.println(serverPort);
//獲取客戶端提交的所有參數的名字:
out.println("<BR>Parameter Names");
Enumeration enum=request.getParameterNames();
while(enum.hasMoreElements())
{String s=(String)enum.nextElement();
out.println(s);
}
// 文本框text提交的信息:
out.println("<BR> text:");
String str=request.getParameter("boy");
out.println(str);
out.println("</BODY>");
out.println("</HTML>");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doPost(request,response);
}
}
例子9(效果如圖9.11所示)
提交注冊名字的JSP頁面
Example9_9.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=cyan><Font size=1 >
<FORM action="examples/servlet/LoginByServlet" method=post >
<P>輸入你的姓名:
<INPUT type="text" name="name" value="abc">
<BR>
<P>輸入你的e-mail地址:
<INPUT type="text" name="address" value="ookk@sina.com">
<P>點擊送出按鈕:
<BR>
<INPUT TYPE="submit" value="送出" name=submit>
</FORM>
</FONT>
</BODY>
</HTML>
sevlet源文件
LoginByServlet.java:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LoginByServlet extends HttpServlet
{ Hashtable hashtable=new Hashtable();
public void init(ServletConfig config) throws ServletException
{super.init(config);
}
public synchronized void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{ //獲得一個向客戶發送數據的輸出流:
PrintWriter out=response.getWriter();
response.setContentType("text/html;charset=GB2312");OutputStream();
response.setContentType("text/html");//設置響應的MIME類型。
out.println("<HTML>");
out.println("<BODY>");
//獲取用戶提交的名字:
String person_name=request.getParameter("name"),
name_found=null;
if(person_name==null)
{person_name="";
}
//在散列表查找是否已存在該名字:
name_found=(String)hashtable.get(person_name);
if(name_found==null)
{ String person_email=request.getParameter("address");
if(person_email==null)
{person_email="";
}
StringTokenizer fenxi=new StringTokenizer(person_email," @");
int n=fenxi.countTokens();
if(n>=3)
{out.print("<BR>"+"there are exists illegal letters in your email");
}
else
{ hashtable.put(person_name,person_name);
out.print("<BR>"+"login success!");
out.print("<BR>"+"your name is "+person_name);
}
}
else
{out.print("<BR>"+"This name has exist ");
}
out.println("</BODY>");
out.println("</HTML>");
}
public synchronized void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doPost(request,response);
}
}
例子10(效果如圖9.12所示)
調用servlet的JSP頁面
Example9_10:
<%@ page contentType="text/html;charset=GB2312" %>
<HTML>
<BODY bgcolor=cyan>
<A Href="examples/servlet/DateServlet" >查看時間<A>
</BODY>
</HTML>
sevlet源文件
DateServlet.java:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class DateServlet extends HttpServlet
{ public void init(ServletConfig config) throws ServletException
{super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{ //獲得一個向客戶發送數據的輸出流:
PrintWriter out=response.getWriter();
response.setContentType("text/html;charset=GB2312");//設置響應的MIME類型。
out.println("<HTML>");
out.println("<BODY>");
response.setHeader("Refresh","2"); //設置Refresh的值。
out.println("Now Time:");
out.println("<BR>"+new Date());
out.println("</BODY>");
out.println("</HTML>");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doPost(request,response);
}
}
例子11(效果如圖9.13所示)
Day.java:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Day extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{ //獲得一個向客戶發送數據的輸出流:
PrintWriter out=response.getWriter();
response.setContentType("text/html;charset=GB2312");//設置響應的MIME類型。
out.println("<HTML>");
out.println("<BODY>");
Calendar calendar=Calendar.getInstance(); //創建一個日歷對象。
calendar.setTime(new Date());//用當前時間初始化日歷時間。
int hour=calendar.get(Calendar.HOUR_OF_DAY),
minute=calendar.get(Calendar.MINUTE),
second=calendar.get(Calendar.SECOND);
if(hour>=22)
{response.sendRedirect("Night"); //重定向。
}
else
{ out.print("Now time :");
out.print(hour+":"+minute+":"+second);
}
out.println("</BODY>");
out.println("</HTML>");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doPost(request,response);
}
}
Night.java:
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Night extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{super.init(config);
}
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{ //獲得一個向客戶發送數據的輸出流:
PrintWriter out=response.getWriter();
response.setContentType("text/html;charset=GB2312");//設置響應的MIME類型。
out.println("<HTML>");
out.println("<BODY>");
out.println("<H1> It is time to sleep");
out.println("</BODY>");
out.println("</HTML>");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{
doPost(request,response);
}
}
例子12(效果如圖9.14、9.15、9.16所示)
提交文件名字的JSP頁面
read.jsp:
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page import ="java.io.*" %>
<%! class FileJSP implements FilenameFilter
{ String str=null;
FileJSP(String s)
{str="."+s;
}
public boolean accept(File dir,String name)
{ return name.endsWith(str);
}
}
%>
<P>下面列出了服務器上的一些jsp文件
<% File dir=new File("d:/Tomcat/Jakarta-tomcat-4.0/webapps/root/");
FileJSP file_jsp=new FileJSP("jsp");
String file_name[]=dir.list(file_jsp);
for(int i=0;i<5;i++)
{out.print("<BR>"+file_name[i]);
}
%>
<BR>輸入文件的名字讀取JSP文件的源代碼內容:
<FORM action="examples/servlet/ReadFileServlet" method=post>
<Input type="text" name="name">
<Input type=submit value="提交">
</FORM>
<BR>輸入文件的名字顯示該JSP文件的運行效果:
<FORM action="examples/servlet/ReadFileServlet" method=get>
<Input type="text" name="name">
<Input type=submit value="提交">
</FORM>
讀取文件的servlet源文件
ReadFileServlet:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class ReadFileServlet extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{super.init(config);
}
//doPost方法使用了回壓流來讀取JSP文件的源代碼:
public void doPost(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{ //獲取提交的文件的名字:
String name=request.getParameter("name");
//獲得一個向客戶發送數據的輸出流:
PrintWriter out=response.getWriter();
response.setContentType("text/html;charset=GB2312");//設置響應的MIME類型。
out.println("<HTML>");
out.println("<BODY>");
File f=new File("d:/Tomcat/Jakarta-tomcat-4.0/webapps/root",name);
try{ FileReader in=new FileReader(f) ;
PushbackReader push=new PushbackReader(in);
int c;
char b[]=new char[1];
while ( (c=push.read(b,0,1))!=-1)//讀取1個字符放入字符數組b。
{ String s=new String(b);
if(s.equals("<")) //回壓的條件
{ push.unread('&');
push.read(b,0,1); //push讀出被回壓的字符字節,放入數組b.
out.print(new String(b));
push.unread('L');
push.read(b,0,1); //push讀出被回壓的字符字節,放入數組b.
out.print(new String(b));
push.unread('T');
push.read(b,0,1); //push讀出被回壓的字符字節,放入數組b.
out.print(new String(b));
}
else if(s.equals(">")) //回壓的條件
{ push.unread('&');
push.read(b,0,1); //push讀出被回壓的字符字節,放入數組b.
out.print(new String(b));
push.unread('G');
push.read(b,0,1); //push讀出被回壓的字符字節,放入數組b.
out.print(new String(b));
push.unread('T');
push.read(b,0,1); //push讀出被回壓的字符字節,放入數組b.
out.print(new String(b));
}
else if(s.equals("\n"))
{ out.print("<BR>");
}
else
{out.print(new String(b));
}
}
push.close();
}
catch(IOException e){}
out.println("</BODY>");
out.println("</HTML>");
}
//doGet方法將顯示JSP源文件運行的效果
public void doGet(HttpServletRequest request,HttpServletResponse response)
throws ServletException,IOException
{ String name=request.getParameter("name");
//獲得一個向客戶發送數據的輸出流:
PrintWriter out=response.getWriter();
response.setContentType("text/html;charset=GB2312");//設置響應的MIME類型。
out.println("<HTML>");
out.println("<BODY>");
File f=new File("d:/Tomcat/Jakarta-tomcat-4.0/webapps/root",name);
try{ FileReader in=new FileReader(f) ;
BufferedReader bufferin=new BufferedReader(in);
String str=null;
while((str=bufferin.readLine())!=null)
{out.print("<BR>"+str);
}
bufferin.close();
in.close();
}
catch(IOException e){}
out.println("</BODY>");
out.println("</HTML>");
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -