我对jruby和java相当陌生,并且希望在使用jetty作为web服务器时在jruby中创建一个servlet。我不确定我是否正确地使用下面的代码来显示输入表单。我想我现在必须扩展HttpServlet类来处理发布的数据,但我不知道如何在这种情况下执行此操作,并且如果可以在同一个脚本中执行此操作。如何使用jruby(使用jetty运行)创建一个servlet?
require 'java'
Dir["./jetty-6.1.18/lib/*jar"].each { |jar| require jar }
Dir["./Java/lib/jsdk2.1/javax/*jar"].each { |jar| require jar }
include_class 'javax.servlet.ServletException'
include_class 'javax.servlet.http.HttpServlet'
include_class 'javax.servlet.http.HttpServletRequest'
include_class 'javax.servlet.http.HttpServletResponse'
include_class 'org.mortbay.jetty.Server'
include_class 'org.mortbay.jetty.handler.AbstractHandler'
include_class 'org.mortbay.jetty.servlet.Context'
include_class 'org.mortbay.jetty.servlet.ServletHolder'
def main
handler = Handler.new
server = Server.new(8080)
server.setHandler(handler)
server.start()
end
class Handler < AbstractHandler
def handle(target, request, response, dispatch)
response.setContentType("text/html")
response.setStatus(HttpServletResponse::SC_OK)
response.getWriter().print('
<form action="RequestProcessing" method="post" enctype="multipart/form-data">
<p>Select a file:<br>
<input name="file" type="file" size="20" maxlength="1000" accept="text/*">
</p>
<input type="submit" value=" Send"/>
</form>')
request.setHandled(true)
end
end
class RequestProcessing < HttpServlet
# So what do we do here?
end
main
我会感谢任何提示。提前谢谢了!
谢谢你的提示,但我必须在这种情况下与码头合作。 – konrad 2009-06-03 07:58:50