2009-01-29 12 views
10

Tôi cần giải pháp với ánh xạ URL này trong web.xml để tạo URL bằng một chữ cái, theo sau là dấu "_" theo sau là bất kỳ kết hợp nào của các ký tự chữ và số.Mẫu URL để ánh xạ servlet trong web.xml

Tôi muốn ánh xạ một servlet để một cái gì đó như thế này:

/something_* 

Thay vì:

/something/* 

Sử dụng "somethings" khác nhau cho khác nhau JSP. Ví dụ:

/search_Something-I-searched-for 

tôi đã cố gắng sử dụng:

<servlet-mapping> 
    <servlet-name>MyServlet</servlet-name> 
    <url-pattern>/something_*</url-pattern> 
    </servlet-mapping> 

Nhưng điều này dường như không làm việc. This answer cho tôi biết tôi không thể làm điều này trong web.xml, vì vậy có thể có một số cách giải quyết khác.

Tôi không biết liệu thông tin này có quan trọng không, nhưng tôi đang sử dụng JBoss và Struts2 trong dự án của mình.

Trả lời

5

Lập bản đồ servlet vào thư mục chứa. Bên trong servlet đó, tách đường dẫn URL và forward thành named servlet thích hợp.

0

Tại sao không thử Khung MVC Spring. Spring có thể cung cấp ánh xạ url mà bạn muốn.

@RequestMapping(value="/something_{name}", method=RequestMethod.GET) 
public String demo(@PathVariable(value="name") String name, ModelMap map) { 

String something = name; 

// Do manipulation 

return "something"; // Forward to something.jsp 
} 

Watch this Spring MVC Framework Tutorial