Здравствуйте! Прошу помочь. Аналогичная ситуация. Использую: IDE NetBeans 6.9.1, jdk 1.6, ОС Linux Debian 5.0.4 Предварительно проверил работоспособность Velocity
подключил Velocity 1.6.4 & Velocity 1.6.4-dep
| Код | package velocheck;
import java.io.BufferedWriter; import java.io.OutputStreamWriter; import java.util.logging.Level; import java.util.logging.Logger; import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.apache.velocity.exception.ParseErrorException; import org.apache.velocity.exception.ResourceNotFoundException;
/** * * @author evgen */ public class Main {
/** * @param args the command line arguments */ public static void main(String[] args) throws Exception { // TODO code application logic here try { Velocity.init("/home/evgen/NetBeansProjects/deos_i/src/java/velocity.properties"); } catch( Exception e ) { System.out.println(e); }
VelocityContext vc = new VelocityContext(); vc.put("fio", "Вася Тапкин"); Template t = null; try { t = Velocity.getTemplate("login.html", "utf-8"); } catch (ResourceNotFoundException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } catch (ParseErrorException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
t.merge(vc, bw);
bw.flush();
bw.close(); } }
|
В консоль обработанный шаблон выкинул корректно.
После чего стал проверять функционал в проекте сервлета (Использую Apache Tomcat 6.0.26)
| Код | package FirstP;
import java.io.IOException; import java.io.PrintWriter; import java.util.logging.Level; import java.util.logging.Logger; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.velocity.app.Velocity; import org.apache.commons.collections.*; import org.apache.commons.lang.*; import org.apache.velocity.servlet.*; import org.apache.velocity.io.*; import org.apache.velocity.runtime.*;
public class First extends HttpServlet { private void draw(HttpServletResponse response/*, ArrayList<String> content*/) throws ServletException, IOException { // Velocity.init();
Velocity.init("/home/evgen/NetBeansProjects/TmplVelo/src/java/FirstP/props.properties");
response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<head>"); out.println("<title></title>"); out.println("</head>"); out.println("<body>"); out.println("Проверка!"); out.println("</body>"); out.println("</html>"); }
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, Exception { draw(response); }
@Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { processRequest(request, response); } catch (Exception ex) { Logger.getLogger(First.class.getName()).log(Level.SEVERE, null, ex); } }
@Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try { processRequest(request, response); } catch (Exception ex) { Logger.getLogger(First.class.getName()).log(Level.SEVERE, null, ex); } }
}
|
Ругается на init() опять же! В консоль отладки кидает следующее:
| Код | Using CATALINA_BASE: /home/evgen/.netbeans/6.9/apache-tomcat-6.0.26_base Using CATALINA_HOME: /home/evgen/apache-tomcat-6.0.26 Using CATALINA_TMPDIR: /home/evgen/.netbeans/6.9/apache-tomcat-6.0.26_base/temp Using JRE_HOME: /home/evgen/JVM/jdk1.6.0_21 Using CLASSPATH: /home/evgen/apache-tomcat-6.0.26/bin/bootstrap.jar 04.10.2010 16:18:55 org.apache.catalina.core.AprLifecycleListener init INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /home/evgen/JVM/jdk1.6.0_21/jre/lib/i386/server:/home/evgen/JVM/jdk1.6.0_21/jre/lib/i386:/home/evgen/JVM/jdk1.6.0_21/jre/../lib/i386:/home/evgen/JVM/jdk1.6.0_21/jre/lib/i386/client:/home/evgen/JVM/jdk1.6.0_21/jre/lib/i386:/home/evgen/JVM/jdk1.6.0_21/jre/../lib/i386:/usr/java/packages/lib/i386:/lib:/usr/lib 04.10.2010 16:18:55 org.apache.coyote.http11.Http11Protocol init INFO: Initializing Coyote HTTP/1.1 on http-8080 04.10.2010 16:18:55 org.apache.catalina.startup.Catalina load INFO: Initialization processed in 1445 ms 04.10.2010 16:18:55 org.apache.catalina.core.StandardService start INFO: Starting service Catalina 04.10.2010 16:18:55 org.apache.catalina.core.StandardEngine start INFO: Starting Servlet Engine: Apache Tomcat/6.0.26 04.10.2010 16:18:55 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor FirstProbe.xml 04.10.2010 16:18:56 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor ROOT.xml 04.10.2010 16:18:56 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor manager.xml 04.10.2010 16:18:56 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor TmplVelo.xml 04.10.2010 16:18:56 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Deploying configuration descriptor deos_i.xml 04.10.2010 16:18:56 org.apache.coyote.http11.Http11Protocol start INFO: Starting Coyote HTTP/1.1 on http-8080 04.10.2010 16:18:56 org.apache.jk.common.ChannelSocket init INFO: JK: ajp13 listening on /0.0.0.0:8009 04.10.2010 16:18:57 org.apache.jk.server.JkMain start INFO: Jk running ID=0 time=1/139 config=null 04.10.2010 16:18:57 org.apache.catalina.startup.Catalina start INFO: Server startup in 1527 ms 04.10.2010 16:18:57 FirstP.First doGet SEVERE: null java.lang.RuntimeException: Uncompilable source code - unreported exception java.lang.Exception; must be caught or declared to be thrown at FirstP.First.draw(First.java:42) at FirstP.First.processRequest(First.java:62) at FirstP.First.doGet(First.java:77) at javax.servlet.http.HttpServlet.service(HttpServlet.java:617) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619)
|
Прошу помочь, ткнуть носом если, что недоглядел. С технологией сервлетов и шаблонизатором сталкиваюсь впервые.
|