这两天开始学习Sturts2。登录时候用的是Struts标签,觉得网页加载速度很慢,换成form表单,速度提升好几倍。自己一直就不太喜欢用Struts标签,觉得JSTL已经够用的了,也相当好使。
<body>
<s:form method="post" action="Login_checkUser.action">
<s:textfield name="userName" label="昵称"></s:textfield>
<s:password name="passWord" label="密码"></s:password>
<s:submit value="提交"></s:submit>
</s:form>
</body>
这是再简单不过的一个登陆表单,但是它使用的是 struts标签。但是在解析出来的页面查看源文件时,却发现被解析成这样
<body>
<form id="Login_checkUser_action" name="Login_checkUser.action" action="/Struts2Demo/Login_checkUser.action" method="post">
<table class="wwFormTable">
<tr>
<td class="tdLabel">
<labelfor="Login_checkUser_action_userName"
class="label">昵称:</label>
</td>
<td>
<input type="text" name="userName" value=""
id="Login_checkUser_action_userName"/>
</td>
</tr>
<tr>
<td class="tdLabel">
<label for="Login_checkUser_action_passWord"
class="label">密码:</label>
</td>
<td>
<input type="password" name="passWord"
id="Login_checkUser_action_passWord"/>
</td>
</tr>
<tr>
<td colspan="2">
<div align="right">
<input type="submit" id="Login_checkUser_action_0"
value="提交"/>
</div>
</td>
</tr>
</table>
</form>
</body>
下面是普通form表单页面
<body>
<form action="/Struts2Demo/checkUserAction.action" method="post">
昵称:<input type="text" name="userName"/><br/>
密码:<input type="password" name="passWord" /><br/>
<input type="submit" value="提交">
</form>
</body>
请求此页面,解析成什么大家应该最清楚。通过下面这张图也许更能对比出来
这是我用HttpWatch观测每个请求所用时间,第一次请求index.jsp,也就是 struts标签的form表单页面所用时间为5.236 第二个为请求 index2.jsp也就是普通form表单页面,用时0.218.
也许请求默认页面耗时长,所以我又多写了个index3.jsp此页面和index.jsp完全相同,复制过去的。第三个请求为index3.jsp,用时0.709
当再次请求index.jsp页面,用时0.225,第二次请求index2.jsp时候用时0.007。通过此数据对比,就能看出struts标签确实费时。而且我在index2.jsp页面中也导入了struts标签。只是没有应用标签,可以看出并不是导入标签费时,而是解析标签费时。