社区
Web 开发
帖子详情
一个愚蠢的问题什么叫jsp
popsoft
2001-06-21 10:24:00
它与asp的区别
...全文
75
1
打赏
收藏
一个愚蠢的问题什么叫jsp
它与asp的区别
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hccpro
2001-06-21
打赏
举报
回复
JSP:Java Server Page
ASP VS JSP
从微软推出了ASP(ActiveServerPage)后,它以其强大的功能,简单易学的特点而受到广大WEB开发人员的喜欢。但是它却有微软产品的通病,只能在Windows平台下使用,虽然它可以通过增加控件而在LINUX下使用,但是其功能最强大的DCOM控件却不能使用。而SUN公司在JAVA的基础下开发出的JSP(Java ServerPages)实现了动态页面与静态页面的分离,脱离了硬件平台的束缚,以及编译后运行等方式大大提高了其执行效率而逐渐成为因特网上的主流开发工具。为了使用广大应用ASP的程序员们能近快的学会JSP。现把其异同对比如下:
一、结构
JSP和ASP在结构上类似,都是以"<%"和"%>"作为标计符,不同的是在标计符之间的代码ASP为JavaScript或VBScript脚本,而JSP为JAVA代码。JSP将网页的表现形式和服务器端的代码逻辑分开。作为服务器进程的JSP页面,首先被转换成servlet(一种服务器端运行的java程序)。Servlet支持HTTP协议的请求和响应。当JSP被转换成纯JAVA代码。多个用户同时请求一个jsp页面时,应用实例化线程来响应请求。这些线程由WEB服务器进程来管理,和ASP的线程管理器功能类似。同CGI为每个请求创建一个进程的模式比较,这种方式效率高的多。
二、性能和平台无关性
与C++、VB等语言比较,JAVA被看作是个效率不太高的语言,但它以牺牲效率换来了平台无关性使JAVA可以在大多数操作系统上运行而不需要重新编译--许多人愿意为此而付出代价。JAVA的编译代码是一种字节代码,在运行时由操作系统上的一个Java VirtualMachine(JVM)虚拟机解释。字节代码可以在所有平台上迁移,而不需要任何改动。交叉平台编程倾向于采用所有操作系统的"最小公分母",尤其是使用图形化界面时(servlets不需要任何图形界面)。Servlets比传统的java程序(applets, javaapp)要快,因为它们在服务器端运行,不需要加载沉重的GUI(HTML的GUI是非常少的)。另外,servlets的字节代码只有在客户请求时才执行,所以尽管当首次调用servlets时会有几秒钟的加载时间,但后续的请求相应非常迅速,因为服务器已经缓存了运行的servlets。当前的jsp服务器,都带有java 即时编译器(JIT),因此,JSP的执行比每次都要解释执行的ASP代码要快,尤其是在代码中存在循环操作时,JSP的速度要快1到2个数量级。
三、Session管理
为了跟踪用户的操作状态,ASP应用SESSION对象。JSP使用一个叫HttpSession的对象实现同样的功能。Session的信息保存在服务器端,Session的id保存在客户机的cookie中。如果客户机禁止cookie,Session Id就必须带在url后面。Session一般在服务器上设置了一个30分钟的过期时间,当客户停止活动后自动失效。Session 中保存和检索的信息不能是基本数据类型(primitivedatatypes)如(int, double)等,而必须是java的相应的object(对象)如(Integer,Double)。
HttpSessionsession=request.getSession();//得到一个session对象或创建一个
session.getId()//得到sessionID数
Integerid=(Integer)session.getValue("id")//检索出session的值并转化为整型 session.putValue("ItemValue",itemName);//ItemValue必须不是must简单类型
四、Application管理
有时服务器需要管理面向整个应用的参数,使得每个客户都能获得同样的参数值。和Session一样,ASP使用Application对象而JSP使用ServletContext对象,操作的方法和Session一样。
getServletContext().setAttribute("Item",ItemValue);//设置一个应用变量
Integeri=(Integer)getServletContext().getAttribute("ItemName");//得到//item
五、ServerSideIncludes
在服务器端引用上ASP和JSP有着相同之处。ASP和JSP都可以支持此功能的服务器(IIS,APACHE)上实现服务器端包含虚文件。但JSP是将动态页面的结果包含进来,而不是包含文件的代码本身。当你包含的文件在另一个服务器上时,不包含任何代码和对象是一个非常有效的功能。
ASP:<!--#includefile="subfile.asp"-->
JSP:<%@includefile="subfile.jsp"-->
六、JAVA组件:JavaBeans
JavaBeans是一些完成预定义功能的封装的对象数据。JavaBeans和JSP接合与COM和ASP相比如下:
COM对象常用来封装商业逻辑和为ASP页面完成高强度计算。重用的组件使得页面简单快速,因为组件由编译语言(C++,VB)构成,而不是解释型的scripting语言(VBScript, JScript)。
JavaBeans只能用java语言开发,com可以由符合标准对象模型的任何语言开发(包括Visual J++)。另一方面,JavaBeans更容易开发,因为一旦掌握了java,了解JavaBeans的结构非常容易。由于com的复杂性,需要大量的学习和培训才能掌握--即使你具有c++和vb的基础也需要额外的努力。Com 组件需要在服务器上注册,如果你修改了一个现有的组件,服务器需要重新启动才能使用它。JavaBeans不需要重新注册,如果开发者不需要得到对服务器的完全访问权限,这是其一个巨大的优点。
可以创建满足商业逻辑的完整的JavaBeans库,让非编程人员使用库来开发动态网站。
Beans可以在服务器端管理数据库连接。
JavaBeans符合结构化对象模型:每个Bean由一个不带参数的构造函数,控制它的servlet可以使用内省(introspection)来设置其属性。要设置Bean的内置属性,必须使用带有属性名的setProperty标签。如果一个属性可以设置,Bean需要有一个setXxxx方法,Xxxx用实际的属性名来代替。
七、JSP和数据库
ASP使用ODBC通过ADO连接数据库,而JAVA通过一个叫JDBC的技术联接数据库。目标数据库需要一个JDBC驱动程序--一个数据库与JAVA的借口,使得JAVA可以用标准的方式访问数据库。JDBC不使用服务器端的数据源。只要有JDBC驱动程序,JAVA就可以访问数据库了。如果一个特定的数据库没有JDBC驱动程序,而只有ODBC驱动程序,JAVA提供一个JDBC-ODBC桥来将JDBC调用转化为ODBC调用。所有的JAVA编译器都带有一个免费的JDBC-ODBC桥。理论上,桥可以访问任何常见的数据库产品。
结论:JSP模型是在ASP之后定义的,它借用了ASP的许多优点,如Session,Application等对象。同时JSP使用灵活而强大的JAVA语言,而不是低效的Scripting语言。ASP开发者只能使用基于windows平台的技术,而java和jsp是跨平台的
JSP
中文乱码
问题
终极解决方案
在介绍方法之前我们首先应该清楚具体的
问题
有哪些,笔者在本博客当中论述的
JSP
中文乱码
问题
有如下几个方面:页面乱码、参数乱码、表单乱码...先看
一个
JSP
程序: 中文显示示例 这是
一个
中文显示示例: S
jsp
页面显示超链接的时候关于路径得
问题
——"
jsp
无法实现页面跳转
问题
" 总结
今天在做
一个
网页项目的时候还真的遇到
一个
问题
,可能是由于自己还是新手吧,没有什么经验,或者说是自己得只是还没与学到家还是一只菜鸟,不多说废话,看项目。 要做的是
一个
用户登陆界面,并在上面实现页之间得...
解决
JSP
中文乱码
问题
大家在
JSP
的开发过程中,经常出现中文乱码的
问题
,可能一至困扰着大家,现把
JSP
开发中遇到的中文乱码的
问题
及解决办法写出来供大家参考。首先了解一下Java中文
问题
的由来: Java的内核和class文件是基于unicode的,...
网站开发进阶(十一)如何将
一个
jsp
页面嵌套在另
一个
页面中
如何将
一个
jsp
页面嵌套在另
一个
页面中 这个在做网页中常要用到,有些通用的内容可集中放在
一个
页面文件中,其它要用到这些内容的页面只需要包含(引用)这个通用文件即可。这样便于维护,如果有很多网页,当通用内容...
JSP
跳转Servlet时出现404
问题
的解决
在
JSP
页面中写了
一个
超链接指向
一个
Servlet类,Servlet类中重定向另
一个
JSP
页面,部署服务器运行后,发现跳转至Servlet时出现404错误,这个
问题
困扰了我两个小时,终于解决,其实是很小的
一个
问题
首先想到的是配置...
Web 开发
81,091
社区成员
341,719
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章