我需要通过使用以下模式将 URL 输入浏览器来从数据库中获取对象:
https://host.com/<something>?action=<actionName>&object=<node|interface>&selection=<list>&tenants=<list>
其中“某物”是检索参数的方法,参数包括:操作、对象、选择和租户。
我将如何着手在 web.xml 文件中建立模式以符合理解上述每个元素的方法?
<servlet>
<servlet-name>NewDynamicWebProject</servlet-name>
<servlet-class>com.test.package.NewDynamicWebProject</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NewDynamicWebProject</servlet-name>
<url-pattern>/something/*</url-pattern>
</servlet-mapping>
我的类(class):
@SuppressWarnings("serial")
public class NewDynamicWebProject extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
something(req, resp);
}
protected void something(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String actionName = req.getParameter("action");
PrintWriter out = resp.getWriter();
out.print("<div>" + actionName + "</div>");
}
}
如何确保我传递到我的 URL 的参数在我的“something”方法的范围内有意义?
最佳答案
我放弃了“something”类并做了以下事情:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String actionName = req.getParameter("action");
String objectType = req.getParameter("object");
String selectionList = req.getParameter("selection");
String tenantsList = req.getParameter("tenants");
PrintWriter out = resp.getWriter();
out.print("<div>" + actionName + " " + objectType + " " + selectionList + " " + tenantsList + "</div>");
}
关于java - 无法将 URL 映射到我的 Java Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37279347/