forward是控制权的转移,浏览器不会显示地址。redirect是跳转,浏览器会看见地址。
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request参数都可以获取。
redirect只支持get。
getAttribute发送接收对象.而getParameter显然只能传字符串。setAttribute是应用服务器把这个对象放在该页面所对应的一块内存中去,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝另一个页面所对应的内存中。这样getAttribute就能取得你所设下的值,getParameter只是应用服务器在分析你送上来的request页面的文本时,取得你设在表单或url重定向时的值。
页面间对象传递的方法:
request,session,application,cookie等
JSP侧重于视图,Servlet主要用于控制逻辑。
用PreparedStatement一般来说比Statement性能高:一个sql发给服务器去执行,涉及步骤:语法检查、语义分析,编译,缓存。
PreparedStatement接口继承Statement,PreparedStatement(预编译) 实例包含已编译的 SQL 语句,所以其执行速度要快于Statement 对象。语句在被DB的编译器编译后的执行代码被缓存下来,那么下次调用时只要是相同的预编译语句就不需要编译,只要将参数直接传入编译过的语句执行代码中(相当于一个函数)就会得到执行.
在WEB-INF目录下,必须存放的文件为:web.xml