2016-09-09 54 views
2

我正在研究Java Servlets Web应用程序。我在WebContent文件夹中有一个html文件“searchPage.html”。我在web.xml的欢迎文件列表中包含了“searchPage.html”名称。现在,每当我运行servlet时,都会运行searchPage.html。网址是Servlet url参数

http://localhost:8080/HeadersTest/

“HeadersTest”是Web应用程序的名称。现在我的问题是,我想在“HeadersTest”之后的url中添加一些参数。参数将在Web应用程序运行后出现。我是否需要在服务方法(doGet,doPost等)中添加这些参数?例如:

http://localhost:8080/HeadersTest?paramName1=paramValue1&paramName2=paramValue2

我对servlet相当陌生。如果有人能指引我正确的方向,那将会非常有帮助。我附上下面的截图中我的web应用程序的我的目录结构:

Directory structure

更新: 正如我在web.xml中,“searchPage的欢迎文件列表列出了“searchPage.html”。 HTML“会在我运行Web应用程序时启动。我想在web应用启动时在url中添加一些参数。

回答

2

将参数添加到URL意味着这是一个GET请求。 只是处理它在你的servlet的doGet()方法:

request.getParameter("paramName1"); 

当你要显示的URL参数,你可以只是

response.sendRedirect("url with parameters"); 
+0

谢谢你的回复。我不想访问参数。我想在响应中添加参数。 –

+0

好的......只是编辑了答案。 –

+0

删除了我编辑的内容。没有完全理解您只想将参数添加到请求的URL。必须考虑这一点。 –

0

如果您想访问Servlet/Controller侧的参数,我们通过参数url传递参数。

如果你想在你的控制器中使用这些参数,这只是你的MainServlet类,那么你应该在url中传递这些参数。您可以在doGet()doPost()方法访问这些使用

request.getParameter("paramName1")

+0

感谢您的回复Abhijeet去。我不想访问参数。我想在响应中添加参数,以便它们出现在url中。我试着做response.addHeader(“paramName1”,“paramValue1”),但参数没有出现在url中。 –

+0

如果你不想使用参数,那么你为什么在URL中传递它? – Abhijeet

+0

我正在为后续请求做这件事。我只需要在html页面首次启动时添加参数。 –