日期:2014-05-18  浏览次数:20608 次

请问一下jsp代码中程序的运行顺序
请问一下jsp代码中java的代码跟html之间是怎么个关系,像c++那样一行一行的运行下来吗?
从c++过来的,有些不知所措,为什么一个变量本来有要取的值,还没有使用就又清零了,html中的调用跟java程序究竟是怎么个关系?

------解决方案--------------------
.jsp 文件经过编译,其中 java 代码成为结果,插入到 html 中,再由一个 servlet 返回客户端
------解决方案--------------------
请求页面->jsp->生成SERVLET->创建servlet的线程->执行并返回结果/

线程被创建时相关的对象及类结构已在内存里了

在html里就可以直接用scriptlet访问对象.


在html里面像是顺序执行的,但不是,在JSP转换成servlet时就变成对类的引用了,对类的访问当然就可以想到构造函数和析构函数这些了,有了这些访问的顺序就应该清楚了吧.

如servlet必须继承自HttpServlet
必须实现doGet()或者doPost()
必须在web.xml里配置servlet

对于什么时候调用JAVA代码其实就是调用javabean,在创建servlet时会一并将要用到的类装载到内存,程序的业务逻辑部分就可以根据需要访问了.

------解决方案--------------------
html 是view层 java是业务逻辑层 (这是一种很粗糙的说法) 当客户端发送一个请求 ,web容器就会根据serlvet 中的doXXX 方法 处理不懂得业务 比如 用户的添加 (servlet 就是java)