顺序执行??初始?

helunc 2007-10-12 01:43:33
含用表单的网页如果还是提交给该网页处理表单,或者是可能出错的网页由自已来处理。像这类的网页的的代码程序是如何执行的,顺序吗?还有对变量的初始化是只有一次吗?
看这个代码:
<html>
<head>where to go</head>
<%
String ad=request.getParameter("where");
if(ad!=null)
{
if(ad.equals("163"))response.sendRedirect("http://www.163.com");
else response.sendRedirect("http://www.yahoo.com.cn");
}
%>
<b>please select:</b><br>
<form action="1.jsp" method="GET">
<select name="where">
<option value="163" selected>go to 163
<option value="sohu">go to sohu
</select>
<input type="submit" value="go " name="submit">
</form>
</body>
</html>如果顺序执行的话,那么该网页一定会转到163的页面上,因为初始的where为163。做何解释?这样解释行不:正因为是顺序执行,所以REQUEST对象在执行到此处没有where这个属性值,所以得到NULL。到底是怎么样的请高手指教!
再看下面的例子:
<%@ page isErrorPage="true" errorPage="exception.jsp" contentType="text/html;charset=GBK" %>
<html>
<head>
<title>exception对象</title>
</head>
<body >
<h2>发生异常</h2>
<%! boolean throwError=true;%>
<%
if (throwError){
throwError=false;
throw new Exception("这里是测试用异常");
}
%>
<b>错误描述:</b> <%= exception.getMessage() %>.<br/>
<%= exception.toString() %><p/>
<b>详细出错原因:</b><p/>
<pre>
<% exception.printStackTrace(new java.io.PrintWriter(out));
throwError=true;
%>
</pre>
</body>
</html>
这个网页也是由自已来处理的。假设前面所说的是顺序执行的。那以当该网页抛出异常后调用本页来重新执行<%! boolean throwError=true;%>
所以IF条件成立会继续抛出异常,这不成了一个死循环了/到底抛出异常后会不会再去执行<%! boolean throwError=true;%>成为关键问题《到底会不会,请高的给指点迷津/
这些问题困扰很久了,请高手指点:1:顺序执行?
2 :如何初始化(例2)




...全文
30 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧