作者NewSpec (新规格)
看板java
标题[JSP ] 请问JSP生命周期与全域变数问题
时间Tue Oct 22 11:38:30 2013
大家好, 小弟有几个问题想请教
1. JSP所translate出来, 用以实际render网页输出的servlet实体
在web container中的数量与存活时间大概是多久?
我找了好一阵子, 都没有找到什麽相关资料
我想当然一定是implementation dependent的
但还是想看看有没有什麽确切的资料或文献可以佐证的~
例如如果同时有m个request进来的话, JSP servlet会产生n个实体
在t时间内如果没有其他request发生, 该n个实体会被清除掉这样.
2. 在JSP中以<c:set scope="page"/>设定的变数是servlet中的instance variable
这个认知没错吧?
(A: 错, 是储存於代表page context的物件中的)
如果我现在把页面中的文字讯息都用这种方式以字串变数储存
是否是个好的practice?(但看起来就不好XD)
如果不好, 那不好在哪边呢?
================ 以下是我遇到的问题以及後来得到的答案: =================
我们用的framework是Grails
我在review code的时候发现有人在GSP中大量使用了g:set来储存网页中讯息的字串
在一个页面中有数十个g:set标签定义
我的第一个反应是这样做似乎不太好,
因为在view元件中应该尽量减少程式逻辑的量, 以及变数定义等
不过後来发现Grails本身就是透过这个方式完成i18n的支援的
所以2.的答案应该的确是个good practice吧?
========================================================================
谢谢大家罗:)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.120.134.11
1F:推 PsMonkey:你可以先看一下这篇 #1I7Zjb4B 10/22 11:41
2F:→ swpoker:好快~我也是想到这篇! 10/22 11:46
痾... 我不是以初学者的身分发这些问题的
只是我带的人有这些小问题, 以 "这样做比较好" 并不足以打发他们
所以我需要一些更确切的答案:P
3F:→ NewSpec:那篇跟我的问题完全不一样吧...Orz 10/22 11:46
※ 编辑: NewSpec 来自: 59.120.134.11 (10/22 12:13)
4F:→ swpoker:这个是跟实作有关的~所以要看该产品的文件比较准 10/22 13:36
5F:→ swpoker:2->要看的是该讯息要使用的范围为何?及thread safe?就好 10/22 13:43
6F:→ swpoker:存取变数的范围只要小心会不会有thread safe的问题就好 10/22 13:59
7F:→ swpoker:2.可以PO一下CODE吗?是想知道变数的定义及其使用范围 10/22 14:15
8F:→ swpoker:我自己会去定义该不同变数的不同范围就是 10/22 14:17
※ 编辑: NewSpec 来自: 36.224.226.157 (10/22 19:42)
9F:→ swpoker:ㄎ~我有要求某些变数仅只在view勒~XD 10/23 10:35