【发布时间】:2019-03-13 02:34:56
【问题描述】:
我正在尝试将 Java 桌面应用程序转换为 Web 应用程序,因为数据将在两个不同的服务器之间进行交互。 在桌面应用程序中,我们使用在运行配置中设置的命令行参数获取主方法的输入。 现在在 Web 应用程序中转换项目时,我不知道如何通过 servlet 传递运行时参数。
桌面应用代码:
public class A extends B {
public static void main(String[] args) {//Get this args value on runtime through arguments set in run configuration
new A().initialize(args);
}
public void initializeProcess(String[] args) {
...
...
}
现在转换为 servlet 后:
public class A extends B
{
public void init() throws ServletException
{
new A().initializeProcess(args);//How to get this args, as it is throwing errors
}
public void initializeProcess(String[] args) {
....
....
}
我尝试在 web.xml 中使用 init-params
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>or.com.test</servlet-class>
<init-param>
<param-name>args</param-name>
<param-value>api</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>
Servlet 类:
public class A extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException{
PrintWriter pw = response.getWriter();
pw.println(getServletConfig().getInitParameter("args"));
}
public void init() throws ServletException
{
new A().initializeConsumerProcess(pw);//Not getting how to pass the init param value here
}
我应该如何在我的 servlet 类中传递程序参数值?
【问题讨论】:
标签: java rest spring-mvc servlets servlet-3.0