一、有这么一道题:
一个Java 类 User 的定义如下 :
public class User {
private String name;
private String emailAddress;
private boolean male; public String getEmailAddress() {
return emailAddress;
} public void setEmailAddress(String address) {
this.emailAddress = address;
} public boolean isMale() {
return male;
} public void setMale(boolean male) {
this.male = male;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public User( String name, String emailAddress, boolean male ) {
this.name = name;
this.emailAddress = emailAddress;
this.male = male;
}
}
假设在 Velocity 的 runtime context 中已经存在一个 Java 容器类 ArrayList 的实例变量 $user 。
$user 的初始化方法为:
java.util.List user = new java.util.ArrayList(5);
user.add( new User( "John", "[email protected]", true ) );
user.add( new User( " Alice ", "[email protected]", false ) );
user.add( new User( "Tom", "[email protected]", true ) );
user.add( new User( "Elisa", "[email protected]", false ) );
user.add( new User( "Zine", "[email protected]", true ) );请写一个 velocity 模版,这个模版可以生成一个 html 页面,输出 $user 中包含的动态用户信息,要求:
1. 采用 table 的形式,每个用户一行,每行包括用户名, email 地址,性别三列信息。
2. 性别需要转换成 “ 男 ” , “ 女 ” ,不要直接输出 boolean 值。
3. 男用户输出行背景为蓝色,女用户输出行背景为红色。二、我是这么做的:
TestVelocity.java代码如下:
//package testVelocity;
import java.io.StringWriter;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
public class TestVelocity{
public static void main( String[] args )throws Exception{
VelocityEngine ve = new VelocityEngine();
ve.init();
Template t = ve.getTemplate( "userTable.vm" );
VelocityContext context = new VelocityContext();
context.put("name", "Eiffel Qiu");
context.put("site", "http://www.j2medev.com"); java.util.List user = new java.util.ArrayList(5);
user.add( new User( "John", "[email protected]", true ) );
user.add( new User( " Alice ", "[email protected]", false ) );
user.add( new User( "Tom", "[email protected]", true ) );
user.add( new User( "Elisa", "[email protected]", false ) );
user.add( new User( "Zine", "[email protected]", true ) );
context.put("user", user);
StringWriter writer = new StringWriter();
t.merge( context, writer );
System.out.println( writer.toString() );
}
}Uesr.java代码:
//package testVelocity;
public class User {
private String name;
private String emailAddress;
private boolean male;
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String address) {
this.emailAddress = address;
}
public boolean isMale() {
return male;
}
public void setMale(boolean male) {
this.male = male;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User( String name, String emailAddress, boolean male ) {
this.name = name;
this.emailAddress = emailAddress;
this.male = male;
}
}userTable.vm代码:
<html>
<title>TestVelocity</title>
<body>
<h1>采用 table 的形式显示:</h1><br/>
<table border=1>
<tr>
<td>Name</td>
<td>EMailAddress</td>
<td>Male or Female</td>
</tr>
#foreach($userInstance in $user)
<tr>
<td>$userInstance.name</td>
<td>$userInstance.emailAddress</td>
#if($userInstance.male)
<td bgcolor="blue">男</td>
#else
<td bgcolor="red">女</td>
</tr>
#end
</table>
</body>
</html>web.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>TestVelocity</display-name>
<description>TestVelocity</description>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list><servlet>
<servlet-name>test</servlet-name>
<servlet-class>cn.ac.ict.TestVelocity</servlet-class>
</servlet><servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>三、用tomcat打开就这样的错误:HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:534)
root cause java.lang.NoClassDefFoundError: cn/ac/ict/TestVelocity (wrong name: TestVelocity)
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:539)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:534)note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.--------------------------------------------------------------------------------Apache Tomcat/5.0.28四、我的classpath是
.;C:\j2sdk1.4.2_14\lib\dt.jar;C:\j2sdk1.4.2_14\lib\tools.jar;C:\j2sdk1.4.2_14\jre\lib\rt.jar;C:\Tomcat 5.0\common\lib\servlet-api.jar;C:\Tomcat 5.0\common\lib;C:\Tomcat 5.0\webapps\velocity\WEB-INF\lib\velocity-dep-1.5.jar;C:\Tomcat 5.0\webapps\velocity\WEB-INF\lib\velocity-1.5.jar;C:\Tomcat 5.0\webapps\velocity\WEB-INF\classes\cn\ac\ict\TestVelocity.class五、我的j2dk1.4.2_14
tomcat5.0.28
j2re1.4.2_14六、为什么不能正确显示出网页呢?
我在网上搜了一下,有的说*.java文件加上引入的包package就行了,但我前边两个java文件如果加了包就不能编译通过,去掉包就编译顺利通过,郁闷阿~~找高人指点!!
一个Java 类 User 的定义如下 :
public class User {
private String name;
private String emailAddress;
private boolean male; public String getEmailAddress() {
return emailAddress;
} public void setEmailAddress(String address) {
this.emailAddress = address;
} public boolean isMale() {
return male;
} public void setMale(boolean male) {
this.male = male;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public User( String name, String emailAddress, boolean male ) {
this.name = name;
this.emailAddress = emailAddress;
this.male = male;
}
}
假设在 Velocity 的 runtime context 中已经存在一个 Java 容器类 ArrayList 的实例变量 $user 。
$user 的初始化方法为:
java.util.List user = new java.util.ArrayList(5);
user.add( new User( "John", "[email protected]", true ) );
user.add( new User( " Alice ", "[email protected]", false ) );
user.add( new User( "Tom", "[email protected]", true ) );
user.add( new User( "Elisa", "[email protected]", false ) );
user.add( new User( "Zine", "[email protected]", true ) );请写一个 velocity 模版,这个模版可以生成一个 html 页面,输出 $user 中包含的动态用户信息,要求:
1. 采用 table 的形式,每个用户一行,每行包括用户名, email 地址,性别三列信息。
2. 性别需要转换成 “ 男 ” , “ 女 ” ,不要直接输出 boolean 值。
3. 男用户输出行背景为蓝色,女用户输出行背景为红色。二、我是这么做的:
TestVelocity.java代码如下:
//package testVelocity;
import java.io.StringWriter;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
public class TestVelocity{
public static void main( String[] args )throws Exception{
VelocityEngine ve = new VelocityEngine();
ve.init();
Template t = ve.getTemplate( "userTable.vm" );
VelocityContext context = new VelocityContext();
context.put("name", "Eiffel Qiu");
context.put("site", "http://www.j2medev.com"); java.util.List user = new java.util.ArrayList(5);
user.add( new User( "John", "[email protected]", true ) );
user.add( new User( " Alice ", "[email protected]", false ) );
user.add( new User( "Tom", "[email protected]", true ) );
user.add( new User( "Elisa", "[email protected]", false ) );
user.add( new User( "Zine", "[email protected]", true ) );
context.put("user", user);
StringWriter writer = new StringWriter();
t.merge( context, writer );
System.out.println( writer.toString() );
}
}Uesr.java代码:
//package testVelocity;
public class User {
private String name;
private String emailAddress;
private boolean male;
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String address) {
this.emailAddress = address;
}
public boolean isMale() {
return male;
}
public void setMale(boolean male) {
this.male = male;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User( String name, String emailAddress, boolean male ) {
this.name = name;
this.emailAddress = emailAddress;
this.male = male;
}
}userTable.vm代码:
<html>
<title>TestVelocity</title>
<body>
<h1>采用 table 的形式显示:</h1><br/>
<table border=1>
<tr>
<td>Name</td>
<td>EMailAddress</td>
<td>Male or Female</td>
</tr>
#foreach($userInstance in $user)
<tr>
<td>$userInstance.name</td>
<td>$userInstance.emailAddress</td>
#if($userInstance.male)
<td bgcolor="blue">男</td>
#else
<td bgcolor="red">女</td>
</tr>
#end
</table>
</body>
</html>web.xml代码:
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><display-name>TestVelocity</display-name>
<description>TestVelocity</description>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list><servlet>
<servlet-name>test</servlet-name>
<servlet-class>cn.ac.ict.TestVelocity</servlet-class>
</servlet><servlet-mapping>
<servlet-name>test</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
</web-app>三、用tomcat打开就这样的错误:HTTP Status 500 -
--------------------------------------------------------------------------------
type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Error allocating a servlet instance
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:534)
root cause java.lang.NoClassDefFoundError: cn/ac/ict/TestVelocity (wrong name: TestVelocity)
java.lang.ClassLoader.defineClass0(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:539)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
java.lang.Thread.run(Thread.java:534)note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs.--------------------------------------------------------------------------------Apache Tomcat/5.0.28四、我的classpath是
.;C:\j2sdk1.4.2_14\lib\dt.jar;C:\j2sdk1.4.2_14\lib\tools.jar;C:\j2sdk1.4.2_14\jre\lib\rt.jar;C:\Tomcat 5.0\common\lib\servlet-api.jar;C:\Tomcat 5.0\common\lib;C:\Tomcat 5.0\webapps\velocity\WEB-INF\lib\velocity-dep-1.5.jar;C:\Tomcat 5.0\webapps\velocity\WEB-INF\lib\velocity-1.5.jar;C:\Tomcat 5.0\webapps\velocity\WEB-INF\classes\cn\ac\ict\TestVelocity.class五、我的j2dk1.4.2_14
tomcat5.0.28
j2re1.4.2_14六、为什么不能正确显示出网页呢?
我在网上搜了一下,有的说*.java文件加上引入的包package就行了,但我前边两个java文件如果加了包就不能编译通过,去掉包就编译顺利通过,郁闷阿~~找高人指点!!
解决方案 »
- struts2 sendredirect 出现异常java.lang.IllegalStateException
- myeclipse9 struts2 struts.xml文件报错
- jsf中有类似<c:forEach>的用法吗?还是我的tld版本的问题?
- 做JSP论文中,后台登陆出现问题,请大家帮忙!
- 需要CS过浩方平台,QQ平台作敝器的朋友请加我
- 为什么我下载的Oracle、SQL Server数据库驱动都不能支持JDBC2.0规范?
- 新手求解
- 请教学习jsp的比较好的例程?
- 本人在读取mysql数据库时抛出NullPointerException异常,请高手解答?
- #####如何来限制访问用户的IP地址?##(急用!毕业设计)
- tomcat 服务器域名配置问题
- JSP AJAX中如何实现多文件带进度条同时上传
是这种格式么?
HTTP Status 404 - Servlet test is not available--------------------------------------------------------------------------------type Status reportmessage Servlet test is not availabledescription The requested resource (Servlet test is not available) is not available.
--------------------------------------------------------------------------------Apache Tomcat/5.0.28
<servlet-name>test</servlet-name>
<servlet-class>cn.ac.ict.TestVelocity</servlet-class>
</servlet>
TestVelocity.java 的包名是 cn.ac.ict 吗
2007-04-08 21:34:31 StandardWrapperValve[test]: Servlet test is currently unavailable
2007-04-08 21:36:47 StandardWrapperValve[test]: Servlet test is currently unavailable
2007-04-08 21:36:47 StandardWrapperValve[test]: Servlet test is currently unavailable
2007-04-08 21:36:50 StandardContext[/WebContent]Marking servlet hello as unavailable
2007-04-08 21:36:50 StandardContext[/WebContent]Error loading WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
StandardClassLoader
delegate: true
repositories:
file:C:\Tomcat 5.0\shared\classes\
----------> Parent Classloader:
StandardClassLoader
delegate: true
repositories:
file:C:\Tomcat 5.0\common\classes\
file:C:\Tomcat 5.0\common\endorsed\xercesImpl.jar
file:C:\Tomcat 5.0\common\endorsed\xml-apis.jar
file:C:\Tomcat 5.0\common\lib\ant-launcher.jar
file:C:\Tomcat 5.0\common\lib\ant.jar
file:C:\Tomcat 5.0\common\lib\commons-collections-3.1.jar
file:C:\Tomcat 5.0\common\lib\commons-dbcp-1.2.1.jar
file:C:\Tomcat 5.0\common\lib\commons-el.jar
file:C:\Tomcat 5.0\common\lib\commons-pool-1.2.jar
file:C:\Tomcat 5.0\common\lib\jasper-compiler.jar
file:C:\Tomcat 5.0\common\lib\jasper-runtime.jar
file:C:\Tomcat 5.0\common\lib\jsp-api.jar
file:C:\Tomcat 5.0\common\lib\naming-common.jar
file:C:\Tomcat 5.0\common\lib\naming-factory.jar
file:C:\Tomcat 5.0\common\lib\naming-java.jar
file:C:\Tomcat 5.0\common\lib\naming-resources.jar
file:C:\Tomcat 5.0\common\lib\servlet-api.jar
file:C:\Tomcat 5.0\common\lib\tools.jar
----------> Parent Classloader:
sun.misc.Launcher$AppClassLoader@19fcc69
cn.ac.ict.HelloVelocity
java.lang.ClassNotFoundException: cn.ac.ict.HelloVelocity
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:964)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:687)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:144)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
javax.servlet.ServletException: Wrapper cannot find servlet class cn.ac.ict.HelloVelocity or a class it depends on
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:974)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:687)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:144)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
----- Root Cause -----
java.lang.ClassNotFoundException: cn.ac.ict.HelloVelocity
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1340)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:964)
at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:687)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:144)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)2007-04-08 21:37:16 StandardWrapperValve[test]: Servlet test is currently unavailable
这个有关系么?用不用重新建一个文件夹呢?
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
这个有关系么?用不用重新建一个文件夹呢?不懂
就是说你在Web.xml里定义的那个cn.ac.ict.TestVelocity的类必须继承HttpServlet,然后写在main方法里的那些东西也要改在overload的doGet或者doPost或者service里边,还有就是输出也不是System.out而是写入HttpResponse的out里。
有时间么?能详细帮我说说么?
我qq13408528
web.xml里的配置:
<servlet>
<servlet-name>test</servlet-name>
<servlet-class>cn.ac.ict.TestVelocity</servlet-class>
</servlet>
是用来配置Servlet的,所有的Servlet就要从HttpServlet继承,然后覆盖父类的那几个方法之一就可以了,如果你是页面之间请求或是使用GET方式,就覆盖doGet,如果是POST方式就覆盖doPost,如果不区分用覆盖service就可以了。
<servlet-name>test</servlet-name>
<servlet-class>cn.ac.ict.TestVelocity</servlet-class>
</servlet>TestVelocity.java代码如下:
//package testVelocity;
import java.io.StringWriter;
import org.apache.velocity.app.VelocityEngine;
import org.apache.velocity.Template;
import org.apache.velocity.VelocityContext;
public class TestVelocity{在web.xml中声明的类为cn.ac.ict.TestVelocity,在包cn.ac.ict里,而你定义的类的包声明是package testVelocity;
还有要在web-inf/classes目录下建cn/ac/ict子目录放TestVelocity类