2012-06-29 18 views
1

У меня есть URL-адрес, который выглядит следующим образом: [HTTP: // локальный: 8080/ресурс/headline3-7]Получение параметров запроса из URL, не имеющие имен параметров

В этом URL

ресурсов - Servlet

headline3-7 - параметр запроса

в Servlet Я использую следующий код:

@WebServlet(name = "ArticleServlet", value = "/resource/*") 
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws  ServletException, IOException { 
    System.out.println("hiii"+ request.getQueryString()); 
} 

Я пытаюсь выяснить, как получить параметры запроса в этом примере?

Я могу видеть управление передается в сервлет

Другое дело, что выскочило это я использую работу Spring кадров для приложения, и у меня есть URLrewrite.xml, там я пытаюсь добавить следующее правило, которое поможет получить идентификатор, но это, кажется, не работает:

<rule> 
    <from>^/resource/([A-Z]+)$</from> 
    <to>/resource/id=$1</to> 

</rule> 

Ответ: на самом деле я использовал шаблон URL и регулярное выражение, которое использовано было следующим:

<rule> 
    <from>^/resource-center/([a-z A-Z-0-9'-_]+)$</from> 
    <to>/resource?id=$1</to> 
</rule> 

это выражение работало для меня и сервлет я использовать функцию req.getparmeter()

+0

возможно дубликат [Restful Path Parameters в Spring MVC 3] (http://stackoverflow.com/questions/ 2951012/restful-path-parameters-in-spring-mvc-3) –

+0

На самом деле я использовал шаблон URL и регулярное выражение, которое использовалось следующим образом: ^/resource-center/([az AZ-0-9 '-_] +) $/resource? id = $ 1 - KAPIL PATIL 34 secs назад Редактировать – KAPILP

ответ

0

request.getQueryString() не будет работать для вас, так как, строго говоря, не имеют какой-либо запрос строка - вы будете иметь, чтобы сделать немного своего собственного синтаксического анализа, что-то вроде:

String param = null; 
String[] paths = request.getPathInfo().split("/"); 
if (paths.length > 0) { 
    param = paths[paths.length-1]; 
} 
System.out.println(param); 
+0

Ну вот, что я думал о разборе строки, было Любопытно узнать, есть ли еще API, который извлекает параметры в этой форме URL-адреса. Спасибо – KAPILP

+1

, вы должны были использовать аннотацию '@ PathVariable'. –

Смежные вопросы