jsp中 <% %>中的java代码是怎样开始执行的

foreverwingsfly 2013-04-11 05:16:41

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>
<%
String str=request.getParameter("abc");
if(str==null)
{
str="";
}
if(str.equals("yes"))
{
response.setContentType("text/plain;charset=gb2312");
}
%>
<html>
<head>
<title>My JSP 'showInfo.jsp' starting page</title>
</head>
<body>
<form method="get" name="form">
<input type="submit" value="yes" name="abc"/>
</form>
</body>
</html>


就比如上面这段代码 为什么点击了abc这个submit按钮,就执行上面<% %>中间的代码呢,我百思不得其解,望大神指点。
...全文
6286 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr_class 2015-07-17
  • 打赏
  • 举报
回复
整个jsp文件会先翻译成一个java文件,当然也就包括了片段里的代码了。记住,片段里的代码除了声明,其余都在service方法里。
Loset2 2015-07-15
  • 打赏
  • 举报
回复
5楼说的对
taiya2009 2014-04-16
  • 打赏
  • 举报
回复 1
你去部署的服务器上找到该jsp生成的class或java文件,看看里面的代码你就明白了。在jsp中只要是单独的代码段一般在方法_jspService()中执行,而每次请求时,都会执行该jsp生成的class中的_jspService()方法的。因此这段代码只要是发送请求都会执行,这也是通常不建议在jsp中写代码段的原因。同样,如果在jsp中声明变量、方法时,在生成的class文件中会作为全局变量、方法存在。 以上,个人愚见。
sunxiangfei91 2013-04-11
  • 打赏
  • 举报
回复
没写action 是提交到本页面了。
一叶飞舟 2013-04-11
  • 打赏
  • 举报
回复
form没写action?
foreverwingsfly 2013-04-11
  • 打赏
  • 举报
回复
引用 1 楼 abcmsnet 的回复:
你换个按钮时submit类型,就是点击后就去后台了,<%%>这里就是后台的代码。所以点击就执行服务器代码
后台那么多代码 他们是怎样一一对应的呢 做了点击的这个动作为什么就执行这一块代码呢
  • 打赏
  • 举报
回复
你换个按钮时submit类型,就是点击后就去后台了,<%%>这里就是后台的代码。所以点击就执行服务器代码

81,119

社区成员

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

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