Создал вызов Servlet ShippingDetailsServlet.java и развернул его. Мне нужно представить HTML-форму. Я не уверен, какой путь я должен внести в действие формы. Ниже приведена форма.Отправить форму для сервлета CQ5
<form action="/services/mycompany/ShippingDetailsServlet" method="post">
Country: <input type="text" name="country" value="au"><br>
Quantity: <input type="text" name="quantity" value="1">
<cq:include path="./submit" resourceType="foundation/components/form/submit" />
Пожалуйста, дайте мне знать, какой путь я должен дать для формы действий, с тем, что он может быть представлен в Servlet.
Ниже находится сервлет.
package mycompany.servlets;
import org.apache.felix.scr.annotations.Properties;
import org.apache.felix.scr.annotations.Property;
import org.apache.felix.scr.annotations.sling.SlingServlet;
import org.apache.sling.api.SlingHttpServletRequest;
import org.apache.sling.api.SlingHttpServletResponse;
import org.apache.sling.api.servlets.SlingAllMethodsServlet;
import javax.servlet.ServletException;
import java.io.IOException;
import java.io.PrintWriter;
@SlingServlet(
paths={"/services/mycompany/"}
)
@Properties({
@Property(name="service.pid", value="mycompany.ShippingDetailsServlet",propertyPrivate=false),
@Property(name="service.description",value="Shipping details servlet", propertyPrivate=false),
@Property(name="service.vendor",value="mycompany", propertyPrivate=false)
})
public class ShippingDetailsServlet extends SlingAllMethodsServlet
{
@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException
{
//Do something fun here
}
@Override
protected void doPost(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException
{
//Do something fun here
PrintWriter out = response.getWriter();
out.println("Hello");
}
}
Обратите внимание, что монтажные сервлеты Sling на дорожках являются субоптимальными, так как вы не можете установить определенные правила контроля доступа на этих путях. Лучше всего, чтобы сервлет обрабатывал определенный тип sling: resource Type и HTTP (ы) и создавал ресурс (на котором вы можете установить контроль доступа) с тем же sling: resourceType. –