У меня есть класс следующего формата:
public class Process extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException {
// TODO Auto-generated method stub
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException {
if ((request.getParameter("choice")==null)&&(request.getParameter("term")!=null)){
Bean b=new Bean(request.getParameter("term"));
request.setAttribute("bean", b);
request.getRequestDispatcher("result.jsp").forward(request, response);
}
//....many other if checks to dispatch the request to appropriate jsp pages
}}
Теперь я хочу преобразовать этот класс в API. Я хочу сохранить функциональность его отправки на соответствующие страницы, так как он работает длямое приложение. Но я хочу иметь возможность предоставлять внешний доступ, чтобы другие также могли использовать мое приложение.Прямо сейчас к этому можно получить доступ http://mytest.com/Process?term=test,, и как только я обращаюсь к нему, он перенаправляет ответ на result.jsp.Ответ в основном является моим другим объектом класса (Bean), и result.jsp использует этот объект для вызова различных методов get для извлечения данных.
Чтобы это было доступно извне, я думаю о введении другого параметра в URL,так что с внешней страницы люди могут отправить запрос на http://mytest.com/Process?term=test&request=api, а затем я могу проверить параметр, чтобы определить, если это из внешнего места, но я не знаю, как отправить ответ на внешний клиент, и если это хорошая идея, чтобыотправьте объект клиенту, так как я не думаю, что он будет иметь доступ к классу.