首页 > 生活冷门小知识

jsp虚拟主机,JSP虚拟主机使用*现乱码怎么办

jsp虚拟主机,JSP虚拟主机使用*现乱码怎么办

什么是虚拟主机,如何选择购买虚拟空间

尽量选择那些成立时间长,信誉比较好的虚拟主机提供商

一般来说,目前一些著名的Internet服务商提供的虚拟主机,质量比较可靠,但价格都是天价,即使是不支持ASP/PHP空间都可以卖500元/月,根本不适合我们这些没米的人使用(有米的人更加不用,这个价钱,还不如托管主机了)。所以,一分钱一分货的自然法则,还是普通管用的,我们只能退而求其次,尽量选择那些信誉比较好,成立时间长,口碑好的专业虚拟主机提供商。在选择前,尽量了解该*的背景,成立时间,各种服务资格是否具备等等。

目前,一些新成立的虚拟主机提供商为了增加业务量,价格很便宜,但服务没有保证。轻则经常停机,重则卷款潜逃,这种现实例子,已经发生了很多回了。对于一个新网站,尤其是论坛型网站来说,稳定性是第一位的,你的网站即使只是停10分钟,也有可能丧失一些重要的用户!所以,首先要选择稳定的空间,其次才是速度快的空间!

选择自己需要的主机程序类型

现在的主机可以支持的程序类型基本上可以分为:PHP型,ASP型,全能型三种。

其中,PHP型基本上都是Linux/FreeBSD+ Apache+ MySQL+ PHP技术构建的,这种类型的虚拟主机在国外已经发展了很长时间,技术比较成熟,一般控制面板功能很丰富,管理方面也都比较完备。需要注意的是,PHP程序大多数需要MySQL数据库支持,好在MySQL基本上算是PHP空间的标准配置了,这也是一般的PHP空间性能高于ASP空间,但是价格也相应高于 ASP空间的原因之一,目前比较常见的。

ASP型主机空间一般都是Windows Server+ IIS+ Access数据库,高端的空间还可以支持MSSQL,但价格太贵。由于 ASP本身的函数和类库功能比较少,因此都需要使用一些控件才能支持一些常见的功能和程序,好在一般的主机商都提供FSO等控件服务,有些还可以提供动易之类的控件服务。由于采用的是Access数据库,在并行读写数比较大的时候, ASP空间的性能要比PHP空间差一些,但这样的空间都比较便宜,价格对囊中羞涩的新手来说,相当诱人。其实,单纯仅仅提供ASP空间的不太多,一般都在上面添加PHP和JSP支持,构成了下面要说的所谓“全能型”主机。

所谓的全能型主机,一般就是在ASP主机上,再安装PHP,或者JSP的支持,价格特别便宜,。其实,我们通过仔细观察一些虚拟主机服务商的主机详细参数可以发现,一般低端的主机都是全能型主机,而高端的主机都是ASP主机和PHP主机分开。这其实告诉我们,没有特别情况,一定不要使用全能型主机。原因在于,在IIS上既提供ASP服务,又提供PHP服务,有些还提供JSP服务,一定会使服务器疲惫不堪!同时这三种服务一般都是使用IIS模块的方式在后台加载,任何一个的设计缺陷都会让服务器工作不正常,而且,也将降低系统的安全性,因为任何一种系统上的漏洞,都会影响整个系统;最后,好多所谓的全能型主机号称支持PHP,却不免费提供MySQL,其实和不支持没有两样。

正如人无完人一样,全能型主机在可靠性,安全性等方面,都不是最佳选择。而且,目前一些缺乏实力的草台班子的服务商,往往购买了几台主机,还不等工商注册,就开始到处发广告,他们由于缺乏在UNIX平台的技术能力,所以一般都是只能提供Windows平台的所谓“全能型”主机,控制面板的功能也很弱。建议这样的主机最好别买,买了没几天,就变成“不能型”主机了。

所以,一定要根据你需要安装的程序,来选择自己需要的主机类型——如果你打算使用ASP来构建自己的网站,或者你喜爱并选定的网站程序是ASP,那么就用ASP型的;如果你喜爱PHP这个开放源代码的动态语言,或者你已经选定了使用PHP的整站程序,那就用PHP型的。但需要注意的是,一定不要在一个站点上,既使用ASP,又使用PHP,原因我在上面已经说明了。好处是现在不管是ASP,还是PHP程序,可以选择的优秀的网站程序都非常多,我在这里不想比较PHP和ASP两种动态语言的优劣,这两种动态语言我都曾经学习和使用过一段时间,应该说,都有一些特色和优点,都能实现我们想要实现的功能。

尽量选择那些控制面板功能丰富的主机空间

正如上面所述,好多草台班子的主机商,因为没有资金来购买国外的控制面板,而且也没有技术能力自己开发,所以控制面板的功能很弱,往往只能修改用户登录密码,数据库密码、查看空间使用率等等功能。而实力比较强大,技术成熟的主机提供商,一般可以提供文件管理、ZIP解压缩、Web邮件界面、 phpMyAdmin数据库管理程序等工具。

目前一些功能比较强大的控制面板,甚至可以提供PHP.INI文件修改、数据库备份恢复等功能,有些可以提供一些常见程序的安装服务(如BLOG等),这将极大方便我们对网站进行管理和使用。

尽量选择那些技术支持比较好,服务质量比较好的网站

建议在购买前,与提供商的技术服务人员进行交流,看看他们的服务态度,服务水平如何。可以问他们一些技术问题,看能不能正确解答。

第五,选择适合自己的主机型号根据自己的实际情况,选择适合自己需要的类型型号。一般新网站流量和数据量都不大,可以先购买容量比较小的空间(100MB也够用了),等到网站流量大了,再升级或者购买大的空间,这样比较划算。

如果只是建设一个个人网站,或者网站的流量预期会比较小,可以考虑购买那些带流量限制的空间,这些空间价格非常便宜,由于空间上的所有网站都受流量限制,反而使得其速度很快,一般来说,他们提供的流量也很难用完。

但是,如果你的网站是准备面向所有大众的,还是选择那些不限流量的好一些,要知道,你的网站即使只停那么几个小时,也会造成你的排名和流量大幅度下降。

另外,基于目前国内Internet南北分治造成的网络带宽问题,如果你的网站只是面对本地区,建议根据你所在的地区选择服务商或者主机放置地(有些服务商同时提供多个机房可供选择,如果你在北方省份建议选择网通,而南方省份则建议选择电信)。如果你对速度要求很高,可以考虑选择那些所谓的“双线”空间。

JSP主机的JSP网站的特点

JSP虚拟主机是利用独特的技术手段把一台服务器上的JSP环境划分为*的小的JSP环境,来供大家执行所需要的JSP语言,您可以把自己的JSP语言的网站上传到JSP虚拟主机上,设置好数据库的连接,您的JSP网站就可正常运行了,JSP虚拟主机其实就是在网络上提供一个JSP环境,您买了后可以把自己的网站放上去让全世界的人都能浏览到,而如果不用JSP虚拟主机,您在自己的电脑上只能您自己看到,这样就失去做网站的意义! JSP使用j*a健壮语言,安全性强,目前大型企业网站绝大多数都是用JSP技术构建,JSP主机不需要担心被跨站黑掉的问题。

JSP技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。这里提供了JSP技术的全面概述,描述了其开发背景以及这项技术的总体目标。同时,在一个简单示例中,还描述了一个基于J*aTM技术的页面的关键组成部分。

在万维网短暂的历史中,它已经从一个大部分显示静态信息的网络演化到对股票进行交易和进行购书*作的一个基础设施。在各种各样的应用程序中,对于可能使用的基于Web的客户端,看上去没有任何限制。基于浏览器客户端的应用程序比传统的基于客户机/服务器的应用程序有几个好处。这些好处包括几乎没有限制的客户端访问和极其简化的应用程序部署和管理(要更新一个应用程序,管理人员只需要更改一个基于服务器的程序,而不是成千上万的安装在客户端的应用程序)。这样,软件工业正迅速地向建造基于浏览器客户端的多层次应用程序迈进。这些快速增长的精巧的基于Web的应用程序要求开发技术上的改进。静态HTML对于显示相对静态的内容是不错的选择;新的挑战在于创建交互的基于Web的应用程序,在这些程序中,页面的内容是基于用户的请求或者系统的状态,而不是预先定义的文字。对于这个问题的一个早期解决方案是使用CGI-BIN接口;开发人员编写与接口相关的单独的程序,以及基于Web的应用程序,后者通过Web服务器来调用前者。这个方案有着严重的扩展性问题——每个新的CGI要求在服务器上*一个进程。如果多个用户并发地访问该程序,这些进程将消耗该Web服务器所有的可用资源,并且系统性能降低到极其低下的地步。某些Web服务器供应商已经尝试通过为他们的服务器提供“插件”和API来简化Web应用程序的开发。这些解决方案是与特定的Web服务器相关的,不能解决跨多个供应商的解决方案的问题。例如,微软的Active Server PagesTM(ASP)技术使得在Web页面上创建动态内容更加容易,但是也只能工作在微软的IIS和Personal Web Server上。还存在其他的解决方案,但是都不能使一个普通的页面设计者能够轻易地掌握。例如,象J*a Servlets这样的技术就可以使得用J*a语言编写交互的应用程序的服务器端的代码变得容易。一个J*a Servlets就是一个基于J*a技术的运行在服务器端的程序(与Applet不同,后者运行在浏览器端)。开发人员能够编写出这样的Servlet,以接收来自Web浏览器的HTTP请求,动态地生成响应(可能要查询数据库来完成这项请求),然后发送包含HTML或XML文档的响应到浏览器。采用这种方法,整个网页必须都在J*a Servlet中制作。如果开发人员或者Web管理人员想要调整页面显示,就不得不编辑并重新编译该J*a Servlet,即使在逻辑上已经能够运行了。采用这种方法,生成带有动态内容的页面仍然需要应用程序的开发技巧。

很显然,目前所需要的是一个业界范围内的创建动态内容页面的解决方案。这个方案将解决当前方案所受到的限制,即:

能够在任何Web或应用程序服务器上运行

将应用程序逻辑和页面显示分离

能够快速地开发和测试

简化开发基于Web的交互式应用程序的过程

J*aServer Pages(JSP)技术就是被设计用来满足这样的要求的。JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。

使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。生成内容的逻辑被封装在标识和J*aBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问J*aBeans组件,使用JDBCTM技术访问数据库,或者包含文件),并且将结果以HTML(或者XML)页面的形式发送回浏览器。这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。绝大多数JSP页面依赖于可重用的,跨平台的组件(J*aBeans或者Enterprise J*aBeansTM组件)来执行应用程序所要求的更为复杂的处理。开发人员能够共享和交换执行普通*作的组件,或者使得这些组件为更多的使用者或者客户团体所使用。基于组件的方法加速了总体开发过程,并且使得各种组织在他们现有的技能和优化结果的开发努力中得到平衡。

采用标识简化页面开发

Web页面开发人员不会都是熟悉脚本语言的编程人员。J*aServer Page技术封装了许多功能,这些功能是在易用的、与JSP相关的XML标识中进行动态内容生成所需要的。标准的JSP标识能够访问和实例化J*aBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法更难于编码和耗时的功能。

通过开发定制化标识库,JSP技术是可以扩展的。今后,第三方开发人员和其他人员可以为常用功能创建自己的标识库。这使得Web页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的构件来工作。

JSP技术很容易整合到多种应用体系结构中,以利用现存的工具和技巧,并且扩展到能够支持企业级的分布式应用。作为采用J*a技术家族的一部分,以及J*a 2(企业版体系结构)的一个组成部分,JSP技术能够支持高度复杂的基于Web的应用。由于JSP页面的内置脚本语言是基于J*a编程语言的,而且所有的JSP页面都被编译成为J*a Servlet,JSP页面就具有J*a技术的所有好处,包括存储管理和安全性。作为J*a平台的一部分,JSP拥有J*a编程语言“一次编写,各处运行”的特点。随着越来越多的供应商将JSP支持添加到他们的产品中,您可以使用自己所选择的服务器和工具,更改工具或服务器并不影响当前的应用。当与J*a 2平台,企业版(J2EE)和Enterprise J*aBean技术整合时,JSP页面将提供企业级的扩展性和性能,这对于在虚拟企业中部署基于Web的应用是必需的。 J*aScript能够在客户端动态地生成HTML。虽然J*aScript很有用,但它只能处理以客户端环境为基础的动态信息。除了Cookie之外,HTTP状态和表单提交数据对J*aScript来说都是不可用的。另外,由于是在客户端运行,J*aScript不能访问服务器端资源,比如数据库、目录信息等等。

JSP和服务器端包含(Server-Side Include,SSI)相比

SSI是一种受到广泛支持的在静态HTML中引入外部代码的技术。JSP在这方面的支持更为完善,因为它可以用Servlet而不是*的程序来生成动态内容。另外,SSI实际上只用于简单的包含,而不是面向那些能够处理表单数据、访问数据库的“真正的”程序。

JSP虚拟主机使用*现乱码怎么办

POST提交表单是乱码

常见的情况为:页面都正常但新*的数据全是乱码

这种情况就是因为提交的数据被程序接收后就是乱码这个乱码又*数据库了所以显示不正常

解决方案:

a修改配制来完成

修改tomcat的配制文件server xml中的连接器加上URIEncoding=”GB”就OK了

b自己写编码转换程序

b a在与表单交换数据的时候做转换这种方式灵活

每一个页面请求写一个转换或者写一个公共的类在接收的时候都做一下转移代码如下:

public static String ISOGBChange(String s)

{

return EncodeChange(s”ISO””GB”);

}

public static String EncodeChange(String s String source_encode String dest_encode)

{

if(s==null)

return null;

try

{

byte[] tmpbyte= s getBytes(source_encode); s= new String(tmpbyte dest_encode);

return s;

}

catch(Exception e)

{

return”ERROR”;

}

}

b b使用tomcat的web xml中定义的过滤器filter来转换所有的请求编码

这个需要自己去研究一下过滤器的写法再具体的转换编码还是b a中的代码进行编码转换的只是转移不用再写在每个程序中了

数据库中本来就是乱码

就是说数据库里面的数据本来就是乱码无论您用什么编码连接数据库查看到的都是乱码如何确定数据库中本来就是乱码呢?(其实也不太容易确定我们仅给出一个大概的判断)

您用客户端连接数据库的时候一定要选择连接编码为GB UTF ISO等常见的编码格式连接并查看您的表中内容是不是正常的若没有一种情况是正常的应该就可以判定为乱码了

当然这个判定并不标准甚至问题很多但在国内我想%以上都用这几种编码所以我认为这个判定准确性是可以被接受的

解决方案:您用客户端连接数据库的时候一定要选择连接编码为GB或者GBK然后于重新执行数据库脚本保证数据库里保存的是正常的字符而不是乱码

从数据库提取出来就是乱码

数据库里本来是正常的但用JAVA连接后一经提取就全乱了

解决方案:修改JAVA连接数据库的URL加上或者修改URL中的编码为UTF characterEncoding=UTF若是hibernate的配置问题 jdbc连接url不能有&符号会导致出错或者后面不生效我用&代替就好了

不要以为用的是GB这里就指定为GB(个人认为若指定为GB驱动又多做了一次编码转换所以就又成了乱码了)

当然也可能驱动太旧等情况

lishixinzhi/Article/program/J*a/JSP/201311/20482

本文链接:http://www.po-te.com/html/87962671.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。