Я сделал следующее, чтобы заставить его работать (конфигурация USB HL2240D)
Загрузить драйвер из этой ссылки Откройте окно терминала и перейдите к команде «Тип загрузки»: gunzip linux-brprinter-installer-2.1.1-1.gz Команда типа: sudo sh linux-brprinter-installer-2.1.1-1Input model name ->
HL2240D
-e
-e You are going to install following packages.
-e hl2240dlpr-2.1.1-1.i386.deb
-e cupswrapperHL2240D-2.0.4-2.i386.deb
-e -n OK? [y/N] ->
y
-e
............................
............................
is License.
=========================================
-e
-e -n Do you agree? [Y/n] ->
y
............................
............................
-e -n Will you specify the Device URI? [Y/n] ->
n
-e
-e -n Test Print? [y/N] ->
y
-e
wait 5s.
lpr -P HL2240D /usr/share/cups/data/testprint
-e -n Hit Enter/Return key.
, а затем он был установлен успешно и работает нормально.
Как указывали другие, спецификация сервлета не допускает таких шаблонов; однако, вы можете рассмотреть JAX-RS, который разрешает такие шаблоны, если это подходит для вашего случая использования.
@Path("/xyz/{value}/test")
public class User {
public String doSomething(@PathParam("value") final String value) { ... }
}
Или:
@Path("/xyz/{value}")
public class User {
@Path("test")
public String doTest(@PathParam("value") final String value) { ... }
}
(Связано с: JAX-RS .)
Он поддерживает отображение этого URL-адреса; но не предлагает никакой проверки.
В вашем веб-xml вы могли бы сделать это ....
/xyz/*
Но это не гарантирует, что конечный test присутствует и что это последний элемент. Если вы ищете что-то более сложное, вы должны попробовать urlrewritefilter.
http://code.google.com/p/urlrewritefilter/
Как указано выше, базовые сервлеты не поддерживают шаблоны, как вы указали в своем вопросе. Spring MVC поддерживает шаблоны. Вот ссылка на соответствующий раздел в справочном документе Spring.
Вы не должны делать это в web.xml, а можете указать каждый запрос на свой фильтр (Patternfilter) и можете проверить URL
package com.inventwheel.filter;
import java.io.IOException;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletRequest;
/**
* Servlet Filter implementation class PatternFilter
*/
@WebFilter("/*")
public class PatternFilter implements Filter {
/**
* Default constructor.
*/
public PatternFilter() {
// TODO Auto-generated constructor stub
}
/**
* @see Filter#destroy()
*/
public void destroy() {
// TODO Auto-generated method stub
}
/**
* @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
*/
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
String servletPath = ((HttpServletRequest)request).getServletPath();
String requestURI = ((HttpServletRequest)request).getRequestURI();
Pattern pattern = Pattern.compile(".*"+servletPath+"/(.*)");
Matcher matcher = pattern.matcher(requestURI);
if (matcher.matches())
{
String param = matcher.group(1);
// do stuff with param here..
}
chain.doFilter(request, response);
}
/**
* @see Filter#init(FilterConfig)
*/
public void init(FilterConfig fConfig) throws ServletException {
// TODO Auto-generated method stub
}
}
Вы можете использовать эту библиотеку: http://zerh.github.io/ServletIO/, чтобы вы могли конвертировать ваши сервлеты в контроллеры MVC и использовать довольно URL-адреса