作者LaPass (LaPass)
看板java
标题[问题] Tomcat杂问
时间Fri May 4 23:45:33 2012
觉得自己对tomcat还不是很熟
有些地方有疑问想问
1.
关於Session部分
tomcat存的Session是一个Object
request.getSession().setAttribute(String, Object);
这是一个很有趣的地方
因为对java而言,所有的东西都继承自Object
理论上我可以存任何东西进去,包跨一个Thread或是Socket
或是自己写的物件之类的
当然这只是理论上
因为我之前在android上干过类似的事却出问题.....
现在,我看到tomcat有支援Cluster的功能
看起来似乎是透过区网广播的功能传递Session的样子
不用对程式码进行修改就能部属成Cluster (我仅看到资料,未实作过)
我想请问,在这种状况下,使用session有限制吗?
例如我可不可以在session里放执行绪去处理东西,或是放条连线的socket进去?
2.
目前还在照着书上的范例做的阶段
对servlet没有很熟
我想请问,一般定义在web.xml中的东西可以动态修改吗?
以及我在程式中可以去干涉、控制tomcat的运行吗?
在web.xml中,可以指定特定的网址连到特定的servlet
例如
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
用 /HelloWorld 连的话就去呼叫 HelloWorld.class 的servlet
那有没有办法这样?
例如我先写好HelloWorld01、HelloWorld02两个servlet
再视情况需要,将/HelloWorld转至HelloWorld01或是HelloWorld02
或是,有个servlet叫做room,在建立时可以设定他的代号
例如在程式中使用 Room room203 = new Room("room203");
然後建立这个servlet,交给tomcat管理之後
我在再去设定 /room203 这个网址去调用room203
直到 room203 的任务完成,我把她结束为止
该怎麽讲,这个有点类似「临时网址」的概念
当然,我知道可以写个servlet专门去处理转发的动作
但是我只是想知道能不能这样做
这样能做的话
似乎可以用简洁的程式去做到一些复杂的事
3.有没有推荐的tomcat的中文书可以看?
我看到的几乎都是java tomcat servlet混着教的书
写的没很详细
之前在写php时,调了apache很多东西
现在在tomecat下我都不知道要怎麽去设定
虽然抓下来的tomcat上就有使用说明
但啃原文的话时间需要多上好多倍.....
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 125.233.154.15
1F:→ qrtt1:tomcat 是 servlet/jsp 规格的实作啊。除了安装跟管理,你都 05/04 23:56
2F:推 qrtt1:该针对 servlet/jsp 的写法去了解为主。 05/04 23:57
3F:→ LaPass:通常,觉得好玩的东西都会越玩越往旁边扩大的。 05/05 00:12
4F:→ LaPass:话说我连管里都还不太会.... 05/05 00:16
5F:推 bitlife:第1点cluster的限制是存入session物件要Serializable 05/05 08:25
6F:→ bitlife:第2点你的动态转hello 1,2例子是可以的,写对应的程式就可 05/05 08:27
7F:→ bitlife:至於你所谓的临时网址,可以用程式动态判断 URI 的方式 05/05 08:31
8F:推 PsMonkey:O'Reilly 有出 Tomcat 的书,大概是 4.x 版的时候 05/05 12:43
9F:→ LaPass:现在我看到Serializable就头大.... 这东西不好用....orz 05/05 15:15
10F:→ LaPass:4板... 有点久不过我先去找来看看 05/05 15:27
11F:推 PsMonkey:敢问 Serializable 哪里不好用? 05/06 01:04
12F:→ Aussie0117:Serializable不好用...那表示你不懂WS.... 05/06 21:49
13F:→ qrtt1:WS 是什麽,有没有全名可以参考一下。 05/06 22:05
14F:→ LaPass:请问WS是什麽? 我用ws下去GOOGLE不到东西 05/06 23:14
15F:推 Chikei:2.没有,只有ServletContextListener#contextInitialized中 05/07 12:51
16F:→ Chikei:可以透过ServletContext修改 05/07 12:53