一: 当客户机发送请求后,服务器就把页面的静态部分发送回来交给浏览器显示。但是对于动态部分(比如说javabean部分)是由服务器执行以动态文档的形式发送给浏览器?还是采用活动文档技术,由服务器把javabean部分发送给浏览器,让浏览器去执行呢?到底是采用的哪种方式呢?各位高手帮忙解决哈这个疑惑!!先谢谢了。二:对于页面的交互部分(要javabean执行的部分),是页面没更新一次就传回服务器更新,还是最后离开这个页面的时候一起提交给服务器呢?
解决方案 »
- JSP中如何获取select标签选中的值
- JSP怎么实现 控制客户端(一般为浏览器)访问服务器资源的方法
- 谁有SCWCD新的题库来一份
- 连接MYSQL数据库出异常
- 图片上传时加上图片水印并把图片名保持在数据库中
- [紧急][在线等]请问JSP如何才能不被直接访问?
- 使用struts的validate验证字段required,为什么把其他的验证脚本也加到页面里了
- 一个简单问题,javaScript代码不执行,为什么 ?
- 请问有关JSP流量统计,小妹先谢谢各位了!!
- 请问各位:Dreamweaver4 与 DreamweaverUltraDev 4 有什么区别?
- 网络音乐播放器源码整理
- 页面数据和数据库数据不一致的问题
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>测试用首页</title>
</head><body><%
String a = "123";out.println(a + "<br>");
System.out.println(a);
%>页面输出:<%=a %></body>
</html>编译后的_123_jsp.javapackage org.apache.jsp;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;public final class _123_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent { private static java.util.List _jspx_dependants; public Object getDependants() {
return _jspx_dependants;
} public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException { JspFactory _jspxFactory = null;
PageContext pageContext = null;
HttpSession session = null;
ServletContext application = null;
ServletConfig config = null;
JspWriter out = null;
Object page = this;
JspWriter _jspx_out = null;
PageContext _jspx_page_context = null;
try {
_jspxFactory = JspFactory.getDefaultFactory();
response.setContentType("text/html;charset=GBK");
pageContext = _jspxFactory.getPageContext(this, request, response,
null, true, 8192, true);
_jspx_page_context = pageContext;
application = pageContext.getServletContext();
config = pageContext.getServletConfig();
session = pageContext.getSession();
out = pageContext.getOut();
_jspx_out = out; out.write("\r\n");
out.write("<html>\r\n");
out.write("<head>\r\n");
out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=GBK\">\r\n");
out.write("<title>测试用首页</title>\r\n");
out.write("</head>\r\n");
out.write("\r\n");
out.write("<body>\r\n");
out.write("\r\n");String a = "123";out.println(a + "<br>");
System.out.println(a); out.write("\r\n");
out.write("\r\n");
out.write("页面输出:");
out.print(a );
out.write("\r\n");
out.write("\r\n");
out.write("</body>\r\n");
out.write("</html>");
} catch (Throwable t) {
if (!(t instanceof SkipPageException)){
out = _jspx_out;
if (out != null && out.getBufferSize() != 0)
out.clearBuffer();
if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
}
} finally {
if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
}
}
}
所有的jsp最后就是一个servlet
其他我就不详细讲解了
你的意思是说,jsp编译成severlet后。每一个浏览器提出请求,服务器都启动一个线程为浏 览器服务,执行过程还是服务器负责的? 是这样吗?如果是这样,那服务器的负载不就重了吗?为什么采取一种可以减少服务器负载的活动文档技术呢??还望三楼高手给以解答!!
jsp就是一个特殊的servlet servlet是jsp的基础
也许你还要问什么是servlet
好吧 我来给你说 servlet是运行在服务器端的一个javabean类 用来处理客户端的请求,
也许你还要接着问 那么为什么为什么要学习jsp呢
好吧 我还是告诉你 jsp是补充servlet画页面的不足,扩展jsp 通常jsp画页面,servlet接受参数 调用后台bean类 jsp+servlet从某种意义来讲,就是一种MVC的设计模式,
下面才是你想知道的
jsp执行原理:翻译 编译 执行 三个过程 第一个过程 产生一个页面的.java文件 第二步过程 .class文件
比如你在访问你个不存在的页面会出现404这样的页面,这个页面就是defualt servlet给你做处理的。是我个人的理解哦。
最关键的是:一切都是服务器执行的???