dmewy 2009-09-04 17:12
浏览 302
已采纳

普通JAVA文件如何调用Servlet

因为要生成报表.
我这边会用quartz定时启动一个Java Class.
通过这个JAVA类去调用一个Servlet.因为AP SERVER有三台..所以我要制定只有一台去run我生成report的code..
所以必须要调用一个Servlet,因为需要request获取IP判断是哪台AP SERVER在request..

不知如何普通的java类中启动一个Servlet. 或者Struts的Action也可以..

如何新建一个HttpServletRequest对象呢?

[b]问题补充:[/b]

因为要生成报表.
我这边会用quartz定时启动一个Java Class.
通过这个JAVA类去调用一个Servlet.因为AP SERVER有三台..所以我要制定只有一台去run我生成report的code..
所以必须要调用一个Servlet,因为需要request获取IP判断是哪台AP SERVER在request..

不知如何普通的java类中启动一个Servlet. 或者Struts的Action也可以..

如何新建一个HttpServletRequest对象呢?


我使过

URL url = new URL("XXX"); 
URLConnection Urlconn = url.openConnection(); 
InputStream inResult = Urlconn.getInputStream(); 

 
这样去做.

奇怪的问题出现了.

在本机测试都是OK的..

在正式机刚开始用整包上线是没问题的(war).

后来不知道过了多久发现那个Servlet唤醒不起来了.奇怪.

意思就是说servlet的代码就没执行

期间有多次Replace Class的上线模式..没有整包发过..

个人怀疑是因为这样搞挂了servlet.

不知道这是为何?

app server : WAS5.1

不可能每次都停机上整包的. 每次都要申请,而且停机的话客户也不能使用.



 

  • 写回答

6条回答 默认 最新

  • Ryankay 2009-09-04 17:23
    关注

    楼主你思路有问题,你一个java普通类,都没有web环境,何来的request对象?再说你都不在同一服务器下,就算你传个request有什么意义?这里的request一定要是web容器下获得的request才有意义。

    实现你要的功能,你只需要发起一个http请求即可,如果用js,那么AJAX会很方便,如果你执意要用java,那么可以google:httpclient java。这个工具类能让你得到你想要的。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置