简单生活 发表于 2015-1-18 11:38:20

JAVA网站制作之利用JSP读取客户端信息

其实你不用Struts,spring这些工具,直接用jsp,servlet能够很方便地写出来,而且,可以根据个人的水平、爱好,有很多方案。而struts,spring这些工具的出来。js|客户端
 请浏览以下代码。假如你的利用请求分歧,可对这些代码加以很便利的修正。这些代码可使你取得:
公司company,用户name,版本version,mainversion,minorversion
操纵体系(未完成!),言语language,locale等。
创建一个新的JSP文件:

请将以下class文件到场classpath(你要创建一样的目次布局--de.hunsicker.http.util,固然也能够本人调治包的称号。!):

packagede.hunsicker.http.util;
importjava.util.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
publicclassBrowserextendsHttpServlet
{
protectedHttpServletRequestrequest;
protectedHttpSessionsession;
protectedStringuserAgent;
protectedStringcompany;//FirmennamedesHerstellers
protectedStringname;//BezeichnungdesBrowsers
protectedStringversion;//Version
protectedStringmainVersion;//Hauptversion
protectedStringminorVersion;//Unterversion
protectedStringos;//Betriebssystem
protectedStringlanguage="de";//SprachcodeStandard
protectedLocalelocale;//Locale-Objektmitdenaktuellen
//Spracheinstellungen
privateHashtablesupportedLanguages;//UntersttzteSprachen
publicBrowser(HttpServletRequestrequest,HttpSessionsession)
{
this.initialize();
this.request=request;
this.session=session;
this.setUserAgent(this.request.getHeader("User-Agent"));
this.setCompany();
this.setName();
this.setVersion();
this.setMainVersion();
this.setMinorVersion();
this.setOs();
this.setLanguage();
this.setLocale();
}
publicvoidinitialize()
{
this.supportedLanguages=newHashtable(2);
this.supportedLanguages.put("en","");
this.supportedLanguages.put("de","");
}
publicvoidsetUserAgent(StringhttpUserAgent)
{
this.userAgent=httpUserAgent.toLowerCase();
}
privatevoidsetCompany()
{
if(this.userAgent.indexOf("msie")>-1)
{
this.company="Microsoft";
}
elseif(this.userAgent.indexOf("opera")>-1)
{
this.company="OperaSoftware";
}
elseif(this.userAgent.indexOf("mozilla")>-1)
{
this.company="NetscapeCommunications";
}
else
{
this.company="unknown";
}
}
/**
*LiefertdenFirmennamendesHerstellersdesverwendetenBrowsers.
*/
publicStringgetCompany()
{
returnthis.company;
}
privatevoidsetName()
{
if(this.company=="Microsoft")
{
this.name="MicrosoftInternetExplorer";
}
elseif(this.company=="NetscapeCommunications")
{
this.name="NetscapeNavigator";
}
elseif(this.company=="Operasoftware")
{
this.name="OperasoftwareOpera";
}
else
{
this.name="unknown";
}
}
/**
*LiefertdenNamendesverwendetenBrowsers.
*/
publicStringgetName()
{
returnthis.name;
}
privatevoidsetVersion()
{
inttmpPos;
StringtmpString;
if(this.company=="Microsoft")
{
Stringstr=this.userAgent.substring(this.userAgent.indexOf("msie")+5);
this.version=str.substring(0,str.indexOf(";"));
}
else
{
tmpString=(this.userAgent.substring(tmpPos=(this.userAgent.indexOf("/"))+1,tmpPos+this.userAgent.indexOf(""))).trim();
this.version=tmpString.substring(0,tmpString.indexOf(""));
}
}
/**
*LiefertdieVersionsnummerdesverwendetenBrowsers.
*/
publicStringgetVersion()
{
returnthis.version;
}
privatevoidsetMainVersion()
{
this.mainVersion=this.version.substring(0,this.version.indexOf("."));
}
/**
*LiefertdieHauptversionsnummerdesverwendetenBrowsers.
*/
publicStringgetMainVersion()
{
returnthis.mainVersion;
}
privatevoidsetMinorVersion()
{
this.minorVersion=this.version.substring(this.version.indexOf(".")+1).trim();
}
/**
*LiefertdieUnterversionsnummerdesverwendetenBrowsers.
*/
publicStringgetMinorVersion()
{
returnthis.minorVersion;
}
privatevoidsetOs()
{
if(this.userAgent.indexOf("win")>-1)
{
if(this.userAgent.indexOf("windows95")>-1||this.userAgent.indexOf("win95")>-1)
{
this.os="Windows95";
}
if(this.userAgent.indexOf("windows98")>-1||this.userAgent.indexOf("win98")>-1)
{
this.os="Windows98";
}
if(this.userAgent.indexOf("windowsnt")>-1||this.userAgent.indexOf("winnt")>-1)
{
this.os="WindowsNT";
}
if(this.userAgent.indexOf("win16")>-1||this.userAgent.indexOf("windows3.")>-1)
{
this.os="Windows3.x";
}
}
}
/**
*LiefertdenNamendesBetriebssystems.
*/
publicStringgetOs()
{
returnthis.os;
}
privatevoidsetLanguage()
{
StringprefLanguage=this.request.getHeader("Accept-Language");
if(prefLanguage!=null)
{
Stringlanguage=null;
StringTokenizerst=newStringTokenizer(prefLanguage,",");
intelements=st.countTokens();
for(intidx=0;idxelements;idx++)
{
if(this.supportedLanguages.containsKey((language=st.nextToken())))
{
this.language=this.parseLocale(language);
}
}
}
}
/*
*HilfsfunktionfrsetLanguage().
*/
privateStringparseLocale(Stringlanguage)
{
StringTokenizerst=newStringTokenizer(language,"-");
if(st.countTokens()==2)
{
returnst.nextToken();
}
else
{
returnlanguage;
}
}
/**
*LiefertdasL?nderkürzeldervomBenutzer
*bevorzugtenSprache.
*/
publicStringgetLanguage()
{
returnthis.language;
}
privatevoidsetLocale()
{
this.locale=newLocale(this.language,"");
}
/**
*LieferteinLocale-ObjektmitderSprach-PrferenzdesverwendetenBrowsers
*/
publicLocalegetLocale()
{
returnthis.locale;
}
}


在性能方面,在windows平台下,.net可能是占强项,要是把.net放在sun开发的操作系统上去运行呢?根本就运行不了,.net对其它操作系统的支持也很弱,性能也可能比不上java。

小女巫 发表于 2015-1-21 11:47:16

自从Sun推出Java以来,就力图使之无所不包,所以Java发展到现在,按应用来分主要分为三大块:J2SE,J2ME和J2EE,这也就是Sun ONE(Open Net Environment)体系。J2SE就是Java2的标准版,主要用于桌面应用软件的编程;J2ME主要应用于嵌入是系统开发,如手机和PDA的编程;J2EE是Java2的企业版,主要用于分布式的网络程序的开发,如电子商务网站和ERP系统。

若天明 发表于 2015-1-30 08:11:30

是一种为 Internet发展的计算机语言

活着的死人 发表于 2015-2-2 22:14:49

Java 编程语言的风格十分接近C、C++语言。

admin 发表于 2015-2-7 19:24:02

J2SE开发桌面应用软件比起 VC,VB,DEPHI这些传统开发语言来说,优势好象并不明显。J2ME对于初学者来说,好象又有点深奥,而且一般开发者很难有开发环境。

因胸联盟 发表于 2015-2-23 04:49:14

所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。

老尸 发表于 2015-2-25 16:53:03

当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?

莫相离 发表于 2015-3-7 22:38:36

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

小妖女 发表于 2015-3-8 16:16:10

是一种使网页(Web Page)产生生动活泼画面的语言

飘飘悠悠 发表于 2015-3-11 10:03:25

是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言

精灵巫婆 发表于 2015-3-11 18:09:43

学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。

不帅 发表于 2015-3-19 06:12:28

你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。

小魔女 发表于 2015-3-20 17:28:52

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

飘灵儿 发表于 2015-3-29 15:13:41

Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台

变相怪杰 发表于 2015-4-9 09:11:10

《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。

再见西城 发表于 2015-4-13 02:18:27

让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。

灵魂腐蚀 发表于 2015-4-21 21:10:45

http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。

透明 发表于 2015-5-7 14:17:57

如果要向java web方向发展也要吧看看《Java web从入门到精通》学完再到《Struts2.0入门到精通》这样你差不多就把代码给学完了。有兴趣可以看一些设计模块和框架的包等等。

只想知道 发表于 2015-5-12 12:36:19

有时间再研究一下MVC结构(把Model-View-Control分离开的设计思想)

再现理想 发表于 2015-6-7 05:15:36

是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
页: [1]
查看完整版本: JAVA网站制作之利用JSP读取客户端信息