关于jsp的一个菜鸟问题请教下大家
客户端向服务器端请求后,服务器端会查找对应的jsp文件,然后用jspparser转换成servlet程序,将servlet编译为class文件,请问下服务器返回给客户端的...
客户端向服务器端请求后,服务器端会查找对应的jsp文件,然后用jsp parser转换成servlet程序,将servlet编译为class文件,请问下服务器返回给客户端的是class文件还是什么?
为什么要经过这样的转换? 展开
为什么要经过这样的转换? 展开
3个回答
展开全部
简单的描述一下,你就会明白了。
首先我们要知道jsp是动态界面,与html静态页面不同,这就是你的问题根本所在。
直观的来说,我们上网站上打开界面,服务器会传送给我们页面信息
jsp是点击链接,将你的请求发送给class文件,class文件会执行你的请求(class文件是可执行文件,像exe一样),然后生成相应的页面给用户。
而html是点击链接,找到相应的html文件直接将html页面复制到用户这里,看到的就是这个html页面了。
实例对比一下jsp和html
例如:我有1000条新闻数据需要在网上公布,新闻格式相同。
jsp只需做一个页面。---运行时根据用户的请求去数据库中找到相应的新闻,生成相应的页面发送给用户
html需要做1000个页面。。。。
这就是动态和静态的区别。
首先我们要知道jsp是动态界面,与html静态页面不同,这就是你的问题根本所在。
直观的来说,我们上网站上打开界面,服务器会传送给我们页面信息
jsp是点击链接,将你的请求发送给class文件,class文件会执行你的请求(class文件是可执行文件,像exe一样),然后生成相应的页面给用户。
而html是点击链接,找到相应的html文件直接将html页面复制到用户这里,看到的就是这个html页面了。
实例对比一下jsp和html
例如:我有1000条新闻数据需要在网上公布,新闻格式相同。
jsp只需做一个页面。---运行时根据用户的请求去数据库中找到相应的新闻,生成相应的页面发送给用户
html需要做1000个页面。。。。
这就是动态和静态的区别。
展开全部
呵,返回的肯定不会是class文件啦,不然别人没有装jdk的电脑怎么也能访问呢。
servlet主要是向客户端返回html代码。
不这要转换那你觉得应该如何呢, 嘿嘿……
servlet主要是向客户端返回html代码。
不这要转换那你觉得应该如何呢, 嘿嘿……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。
由于包括大量的HTML标签、大量的静态文本及格式等,导致Servlet的开发效率极为低下。所有的表现逻辑,包括布局、色彩及图像等,都必须耦合在Java代码中,这的确让人不胜其烦。JSP的出现弥补了这种不足,JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用Java脚本控制。
从表面上看,JSP页面已经不再需要Java类,似乎完全脱离了Java面向对象的特征。事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。
结论:
1.JSP文件必须在JSP服务器内运行。
2.JSP文件必须生成Servlet才能执行。
3.每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。
4.JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。
JSP和Servlet会有如下转换:
1.JSP页面的静态内容、JSP脚本都会转换成Servlet的xxxService()方法,类似于自行创建Servlet时service()方法。
2.JSP声明部分,转换成Servlet的成员部分。所有JSP声明部分可以使用private,protected,public,static等修饰符,其他地方则不行。
3.JSP的输出表达式(<%= ..%>部分),输出表达式会转换成Servlet的xxxService()方法里的输出语句。
4.九个内置对象要么是xxxService()方法的形参,要么是该方法的局部变量,所以九个内置对象只能在JSP脚本和输出表达式中使用。
由于包括大量的HTML标签、大量的静态文本及格式等,导致Servlet的开发效率极为低下。所有的表现逻辑,包括布局、色彩及图像等,都必须耦合在Java代码中,这的确让人不胜其烦。JSP的出现弥补了这种不足,JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用Java脚本控制。
从表面上看,JSP页面已经不再需要Java类,似乎完全脱离了Java面向对象的特征。事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。
结论:
1.JSP文件必须在JSP服务器内运行。
2.JSP文件必须生成Servlet才能执行。
3.每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet。
4.JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。
JSP和Servlet会有如下转换:
1.JSP页面的静态内容、JSP脚本都会转换成Servlet的xxxService()方法,类似于自行创建Servlet时service()方法。
2.JSP声明部分,转换成Servlet的成员部分。所有JSP声明部分可以使用private,protected,public,static等修饰符,其他地方则不行。
3.JSP的输出表达式(<%= ..%>部分),输出表达式会转换成Servlet的xxxService()方法里的输出语句。
4.九个内置对象要么是xxxService()方法的形参,要么是该方法的局部变量,所以九个内置对象只能在JSP脚本和输出表达式中使用。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询