Java Servlet API中forward() 与redirect()的区别

2023-07-06   


前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接。在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。
   三十、写一个简单的C/S结构程序,Java 的通信编程,编程题(或问答),用JAVA SOCKET编程,读服务器几个字符,再写入本地显示?
   答:Server端程序:
   package test;
   import java.net.*;
   import java.io.*;
   public class Server
  
   private ServerSocket ss;
   private Socket socket;
   private BufferedReader in;
   private PrintWriter out;
   public Server()
  
   try
  
   ss=new ServerSocket(10000);
   while(true)
  
   socket = ss.accept();
   String RemoteIP = socket.getInetAddress().getHostAddress();
   String RemotePort = “:”+socket.getLocalPort();
   System.out.println(“A client come in!IP:”+RemoteIP+RemotePort);
   in = new BufferedReader(new
   InputStreamReader(socket.getInputStream()));
   String line = in.readLine();
   System.out.println(“Cleint send is :” + line);
   out = new PrintWriter(socket.getOutputStream(),true);
   out.println(“Your Message Received!”);
   out.close();
   in.close();
   socket.close();
  
   catch (IOException e)
  
   out.println(“wrong”);
  
  
   public static void main(String[] args)
  
   new Server();
  
   ;
   Client端程序:
   package test;
   import java.io.*;
   import java.net.*;
   public class Client
  
   Socket socket;
   BufferedReader in;
   PrintWriter out;
   public Client()
  
   try
  
   System.out.println(“Try to Connect to 127.0.0.1:10000″);
   socket = new Socket(“127.0.0.1″,10000);
   System.out.println(“The Server Connected!”);
   System.out.println(“Please enter some Character:”);
   BufferedReader line = new BufferedReader(new
   InputStreamReader(System.in));
   out = new PrintWriter(socket.getOutputStream(),true);
   out.println(line.readLine());
   in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
   System.out.println(in.readLine());
   out.close();
   in.close();
   socket.close();
   catch(IOException e)
  
   out.println(“Wrong”);
  
  
   public static void main(String[] args)
  
   new Client();
  
   ;


相关内容:

  1. Java面试题:为什么要用Java
  2. Servlet面试题库
  3. Servlet方面面试题
  4. HIBERNATE面试常见问题
  5. Java servlet面试题