는 yall를 이봐, 나는 wicket- 또한 서버 관련 질문이 있습니다. .. 내가 wicket-mailing-list에 관한 질문을했을 때 많이 얻었습니다.) .... 그래서 그냥 말하자면 필사적으로 필요합니다. b/c ... ehm ... 나는 아직도 생각할 수 없습니다. 좋은 이유가 있지만 내가 할 수있는 일이 많지 않아 ... 결국 서블릿을 실행하는이 작은 서버를 얻었습니다 ... 제가 아는 한, 서블릿을 실행할 수있는 서버가 필요합니다. (내 부족한 영어에 대해서는 단지 바람둥이와 같은 서블릿 컨테이너라고 가정 해 봅시다.)이 아주 아름다운 서버가 생겼으니 아무에게도 내가해야 할 일이 있다는 생각이 들었습니다. 그래서 내 개찰구가 -apps가 실행됩니까? 내 서버에 개찰 앱을 실행한다고 가정하려면 어떻게해야합니까? 내가 잘 설명개찰구는
희망 ... 사전 :
에서 thnx ... DG
확인, 약간의 소스 ... 내가 그랬어이 다음 자습서 :
는 "마법"발생하는 HttpServer 여기서
while (!shutdown) {
// ... all the stuff before
//check if this is a request for a servlet or a static resource
//a request for a servlet begins with "/servlet/"
if (request.getUri().startsWith("/servlet/")) {
System.out.println("SERVLET-REQUEST\n\n");
ServletProcessor2 processor = new ServletProcessor2();
processor.process(request, response);
}
else {
System.out.println("STATICRESOURCE-REQUEST");
StaticResourceProcessor processor = new StaticResourceProcessor();
processor.process(request, response);
}
// ... all the stuff after
}
을 지금 ServletProcess을 나 :
public class ServletProcessor2 {
public void process(Request request, Response response) {
String uri = request.getUri();
String servletName = uri.substring(uri.lastIndexOf("/") + 1);
System.out.println("SERVLETNAME ... " + servletName);
URLClassLoader loader = null;
try {
// create a URLClassLoader
URL[] urls = new URL[1];
URLStreamHandler streamHandler = null;
File classPath = new File(Constants.WEB_ROOT);
// the forming of repository is taken from the createClassLoader method in
// org.apache.catalina.startup.ClassLoaderFactory
String repository = (new URL("file", null, classPath.getCanonicalPath() + File.separator)).toString() ;
System.out.println("REPOSITORY ... " + repository);
// the code for forming the URL is taken from the addRepository method in
// org.apache.catalina.loader.StandardClassLoader class.
urls[0] = new URL(null, repository, streamHandler);
loader = new URLClassLoader(urls);
}
catch (IOException e) {
System.out.println(e.toString());
}
Class myClass = null;
try {
myClass = loader.loadClass(servletName);
}
catch (ClassNotFoundException e) {
System.out.println("FEHLER: " + e.toString() + " ... CAUSE: " + e.getCause());
e.printStackTrace();
}
Servlet servlet = null;
RequestFacade requestFacade = new RequestFacade(request);
ResponseFacade responseFacade = new ResponseFacade(response);
try {
servlet = (Servlet) myClass.newInstance();
servlet.service((ServletRequest) requestFacade, (ServletResponse) responseFacade);
}
catch (Exception e) {
System.out.println("Fehler: " + e.toString() + " ... CAUSE: " + e.getCause());
e.printStackTrace();
}
catch (Throwable e) {
System.out.println(e.toString());
}
}
}
서버에 대해 어떻게 대답 할 수 있습니까? 서버에서 서블릿을 어떻게 실행합니까? –