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


Posted in 面试题 onApril 20, 2014
前者仅是容器中控制权的转向,在客户端浏览器地址栏中不会显示出转向后的地址;后者则是完全的跳转,浏览器将会得到跳转的地址,并重新发送请求链接。这样,从浏览器的地址栏中可以看到跳转后的链接地址。所以,前者更加高效,在前者可以满足需要时,尽量使用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();
}
};

Tags in this post...

面试题 相关文章推荐
杭州SQL浙江浙大网新恩普软件有限公司
Jul 27 面试题
如何查询Oracle数据库中已经创建的索引
Oct 11 面试题
存储过程和sql语句的优缺点
Jul 02 面试题
光声世纪笔试题目
Aug 25 面试题
面向对象概念面试题(.NET)
Nov 04 面试题
Linux内核产生并发的原因
Nov 08 面试题
Linux操作面试题
May 16 面试题
长青弘远的面试题
Jun 09 面试题
广州喜创信息技术有限公司JAVA软件工程师笔试题
Oct 17 面试题
是否可以从一个static方法内部发出对非static方法的调用?
Aug 18 面试题
什么是方法的重载
Jun 24 面试题
shell程序如何生命变量?shell变量是弱变量吗?
Nov 10 面试题
请问软件开发中的设计模式你会使用哪些
May 13 #面试题
请用Java实现列出某个目录下的所有文件
Sep 23 #面试题
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
Jul 30 #面试题
如何唤起类中的一个方法
Nov 29 #面试题
中间件的定义
Aug 09 #面试题
Lucene推荐的分页方式是什么?
Dec 07 #面试题
类的返射机制中的包及核心类
Sep 12 #面试题
You might like
php5编程中的异常处理详细方法介绍
2008/07/29 PHP
php 全局变量范围分析
2009/08/07 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
网站防止被刷票的一些思路与方法
2015/01/08 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
简单概括PHP的字符串中单引号与双引号的区别
2016/05/07 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
yii框架结合charjs实现统计30天数据的方法
2020/04/04 PHP
js 巧妙去除数组中的重复项
2010/01/25 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
Bootstrap学习笔记之css样式设计(1)
2016/06/07 Javascript
RequireJS多页面应用实例分析
2016/06/29 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
jquery日历插件e-calendar升级版
2016/11/10 Javascript
AngularJS中指令的四种基本形式实例分析
2016/11/22 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
用vue的双向绑定简单实现一个todo-list的示例代码
2017/08/03 Javascript
jqueryUI tab标签页代码分享
2017/10/09 jQuery
Vue.js2.0中的变化小结
2017/10/24 Javascript
js节流防抖应用场景,以及在vue中节流防抖的具体实现操作
2020/09/21 Javascript
python使用多线程不断刷新网页的方法
2015/03/31 Python
利用Python复制文件的9种方法总结
2019/09/02 Python
python实现梯度下降法
2020/03/24 Python
python根据完整路径获得盘名/路径名/文件名/文件扩展名的方法
2020/04/22 Python
Application Cache未缓存文件无法访问无法加载问题
2014/05/31 HTML / CSS
在对linux系统分区进行格式化时需要对磁盘簇(或i节点密度)的大小进行选择,请说明选择的原则
2012/01/13 面试题
Python文件操作的面试题
2013/06/22 面试题
给同学的道歉信
2014/01/16 职场文书
会计实训报告范文
2014/11/04 职场文书
信用卡工作证明范本
2015/06/19 职场文书
oracle DGMGRL ORA-16603报错的解决方法(DG Broker)
2021/04/06 Oracle
mysql中DCL常用的用户和权限控制
2022/03/31 MySQL
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python