📄
字号:
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 + -