社区
Web 开发
帖子详情
jsp中如何返回流览器的类型?
ttyy
2003-08-25 11:29:05
页面处理中,如何返回流览器的类型(IE,Netscape)?
...全文
52
10
打赏
收藏
jsp中如何返回流览器的类型?
页面处理中,如何返回流览器的类型(IE,Netscape)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
joygxd
2003-08-26
打赏
举报
回复
学习
cao_zp
2003-08-26
打赏
举报
回复
jsp页面隐含对象request
你直接写<%= request.getHeader("User-Agent") %>就可以看到你的浏览器的标头
一般ie的头是Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)
你只要搜索MSIE这几个字就知道是不是IE浏览器了
cainiao_2000
2003-08-26
打赏
举报
回复
上面的代码是起名为Browser.java就可以了,我调试过没有错的!
to: junnef(皮皮)
你的代码是自己查看自己浏览器的类型,不与服务器关联的,没有用处,比如服务器想针对特定浏览器显示特定的网页内容(因为浏览器之间有差异),你的就无能为力了!
cainiao_2000
2003-08-26
打赏
举报
回复
<%@ page import="Browser.*"%>对应的程序:
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Browser extends HttpServlet
{
protected HttpServletRequest request;
protected HttpSession session;
protected String userAgent;
protected String company; // Firmenname des Herstellers
protected String name; // Bezeichnung des Browsers
protected String version; // Version
protected String os; // Betriebssystem
private Hashtable supportedLanguages; // Untersttzte Sprachen
public Browser(HttpServletRequest request, HttpSession session)
{
this.initialize();
this.request = request;
this.session = session;
this.setUserAgent(this.request.getHeader("User-Agent"));
this.setCompany();
this.setName();
this.setVersion();
this.setOs();
}
public void initialize()
{
this.supportedLanguages = new Hashtable(2);
this.supportedLanguages.put("en", "");
this.supportedLanguages.put("de", "");
}
public void setUserAgent(String httpUserAgent)
{
this.userAgent = httpUserAgent.toLowerCase();
}
// get company's name of browser
private void setCompany()
{
if (this.userAgent.indexOf("msie") > -1)
{
this.company = "Microsoft";
}
else if (this.userAgent.indexOf("opera") > -1)
{
this.company = "Opera Software";
}
else if (this.userAgent.indexOf("mozilla") > -1)
{
this.company = "Netscape Communications";
}
else
{
this.company = "unknown";
}
}
public String getCompany()
{
return this.company;
}
// get name of browser
private void setName()
{
if (this.company == "Microsoft")
{
this.name = "Microsoft Internet Explorer";
}
else if (this.company == "Netscape Communications")
{
this.name = "Netscape Navigator";
}
else if (this.company == "Operasoftware")
{
this.name = "Operasoftware Opera";
}
else
{
this.name = "unknown";
}
}
public String getName()
{
return this.name;
}
//get version of browser
private void setVersion()
{
int tmpPos;
String tmpString;
if (this.company == "Microsoft")
{
String str = 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(" "));
}
}
public String getVersion()
{
return this.version;
}
// get Os of your computer
private void setOs()
{
if (this.userAgent.indexOf("win") > -1)
{
if (this.userAgent.indexOf("windows 95") > -1 || this.userAgent.indexOf("win95") > -1)
{
this.os = "Windows 95";
}
if (this.userAgent.indexOf("windows 98") > -1 || this.userAgent.indexOf("win98") > -1)
{
this.os = "Windows 98";
}
if (this.userAgent.indexOf("windows nt") > -1 || this.userAgent.indexOf("winnt") > -1)
{
this.os = "Windows NT";
}
if (this.userAgent.indexOf("win16") > -1 || this.userAgent.indexOf("windows 3.") > -1)
{
this.os = "Windows 3.x";
}
}
}
public String getOs()
{
return this.os;
}
}
junnef
2003-08-26
打赏
举报
回复
to:cainiao_2000(共同学习是快速进步的方法之一):
你的方法也很聪明,呵呵,通过判断上次请求的头,来取得公司名称,进而推出浏览器类型,互相学习,不过js的这个方法,在jsp出来之前就有了。
junnef
2003-08-26
打赏
举报
回复
你还可以检测显示器的分辨率,系统类型等等,要转向只要加window.location即可。
junnef
2003-08-26
打赏
举报
回复
对浏览器的类型处理的话,一般是判断客户端的,你用js判断出来之后,需要判断浏览器名字,然后使用window.location()转到不同的页面去。发给你一个经典的段子:
这个脚本检测访问者的浏览器类型,并用不同的MIDI来提示,非常的COOL!
将代码加入<BODY>区:声音文件自己随便选择.
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var MSIE=navigator.userAgent.indexOf("MSIE");
var NETS=navigator.userAgent.indexOf("Netscape");
var OPER=navigator.userAgent.indexOf("Opera");
if((MSIE>-1) || (OPER>-1)) {
document.write("<BGSOUND SRC=sound.mid LOOP=INFINITE>");
}
else {
document.write("<EMBED SRC=sound2.mid AUTOSTART=TRUE ");
document.write("HIDDEN=true VOLUME=100 LOOP=TRUE>");
}
// End -->
</SCRIPT>
检测访问者使用的浏览器是IE还是NS,然后根据检测结果带领他们去相应的页面,可以有效地避免浏览器的不兼容导致的页面浏览异常,下面再给出一种方法:
代码非常简单,将如下代码加入HTML的<head>区:
<!-- 导向IE页面--->
<SCRIPT LANGUAGE="JavaScript">
<!---------- JavaScript begins...
URL = "IE.htm";
// 将此URL改为支持IE的页面
var name = navigator.appName
if (name == "Microsoft Internet Explorer")
window.location = URL;
// JavaScript ends ---------->
</SCRIPT>
<!-- 导向NS页面--->
<SCRIPT LANGUAGE="JavaScript">
<!---------- JavaScript begins...
URL = "NS.htm";
// 将此URL改为支持NS的页面
var name = navigator.appName
if (name == "Netscape")
window.location = URL;
// JavaScript ends ---------->
</SCRIPT>
cainiao_2000
2003-08-25
打赏
举报
回复
<%@ page contentType="text/html;charset=gb2312" %>
<%@ page language="java" %>
<%@ page import="Browser.*"%>
<HTML>
<HEAD>
<TITLE>Get Browser</TITLE>
</HEAD>
<BODY>
<center>
<font size=5 color=blue>获得客户端浏览器信息</font>
<center>
<%
Browser eins = new Browser(request, session);
%>
<br>
<hr>
<br>
<font size=4 face="隶书" color=blue>
您使用的浏览器是:<%=eins.getName()%>
</font>
<br>
<font size=r face="隶书" color=blue>
它是<%=eins.getCompany()%>公司的<%=eins.getVersion()%>版
</font>
<br>
<font size=4 face="隶书" color=blue>
您使用的操作系统是:<%=eins.getOs()%>
</font>
<br>
</BODY>
</HTML>
junnef
2003-08-25
打赏
举报
回复
jsp是在服务器端编译运行的,所以对客户端浏览器无能为力,用javascript吧:
<script language="JavaScript">
var name = navigator.appName;
alert(name);
</script>
IE则name为:Microsoft Internet Explorer
Netscape则name为:Netscape
smartufo
2003-08-25
打赏
举报
回复
<%@ page import="Browser.*"%>错误!
Javaweb疑惑之eclipse如何改变运行
jsp
的浏览器?
eclipse如何改变运行
jsp
的浏览器? 其实很简单, Window->Preferences->General->Web Browser 然后就可以设置使用内部浏览器或者外部浏览器和浏览器
类型
啦。 当然,如果要引入新的浏览器,点击右边的new按钮,然后输入名称,找到exe可执行文件,点击OK就可以了 可以看到,浏览器列表已经出现了新设置的FireFox浏览器。 转载自CSDN曹小哈 原文链接:https://blog.csdn.net/qq_44781879/article/de
在
jsp
页面
中
对浏览器
类型
判断~
嗨呀,浏览器兼容问题真烦~ 方法一: $(function() { if($.browser.msie) { alert("this is msie"); } else if($.browser.safari) { alert("this is safari!"); } else if($.browser.mozilla) { alert("this is mozilla!");
Freemarker写的XX.ftl能否在浏览器访问?freemarker的标签写入ftl
中
能否通过后台传值后显示在浏览器上?
刚才在前一篇博文
中
说了freemarker整合springmvc,相信大家也看见了,helloFtl.ftl 我在浏览器上访问成功了,那么就说明了X.ftl可以在浏览器上访问,为什么可以访问,其实原理大概和
jsp
差不多,也是通过前一篇的博文
中
ftl-servlet.xml
中
的配置,那么现在我在ftl里面加入freemarker的list 或者 macro 看看是否可以访问成功,答案显而易见,是可以的
什么是
jsp
?与servlet区别?request responds cookies session 整理与使用?controller与servlet的区别?
什么是
jsp
?与servlet区别?request responds cookies session 整理与使用?controller与servlet的区别?
eclipse如何改变运行
jsp
的浏览器
其实很简单, Window->Preferences->General->Web Browser 然后就可以设置使用内部浏览器或者外部浏览器和浏览器
类型
啦。 当然,如果要引入新的浏览器,点击右边的new按钮,然后输入名称,找到exe可执行文件,点击OK就可以了。 可以看到,浏览器列表已经出现了新设置的FireFox浏览器。 ...
Web 开发
81,092
社区成员
341,717
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章