菜鸟关于Tomcat的小问题 你要自己开发程序用的话不用apache 的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Apache负责解析HTML/XML;Tomcat负责解析Servlet/JSP(同时也有一定的HTML/XML解析功能);最好是两者配套使用,构建一个高效的Web环境。 如果只是用jsp和servlet,tomcat就足够了。不过为了能够顺利使用,你还需要配置tomcat的web.xml文件。 不需要apache只需要把servlet的.class文件放在 %tomcat%/webapps/WEB-INF/classes/包名/ 中然后用http://url:port/servlet/包名.类名就可以访问了 更正:只需要把servlet的.class文件放在 %tomcat%\webapps\ROOT\WEB-INFclasses\包名\ 中若更改了xml配置文件的话,相信你自己也知道应该放在哪儿了 同意上面所有人的发言给你一个helloword的例子!import java.io.*;import javax.servlet.*;import javax.servlet.http.*;public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<html>"); out.println("<body>"); out.println("<head>"); out.println("<title>Hello World!</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Hello World!</h1>"); out.println("</body>"); out.println("</html>"); }}运行的时候http://url:port/servlet/包名.类名本例子为:端口8080HelloWorld放在tomcat的webapps\ROOT\WEB-INF\classes里运行:http://localhost:8080/servlet/HelloWorld //cmd 中出错信息 大侠看一下,是怎么回事???C:\Tomcat4\webapps\ROOT\WEB-INF\classes>javac HelloWorld.javaHelloWorld.java:2: 包 javax.servlet 不存在import javax.servlet.*;^HelloWorld.java:3: 包 javax.servlet.http 不存在import javax.servlet.http.*;^HelloWorld.java:5: 不能解析符号符号:类 HttpServlet位置:类 in HelloWorldpublic class HelloWorld extends HttpServlet { ^HelloWorld.java:7: 不能解析符号符号:类 HttpServletRequest位置:类 in HelloWorld public void doGet(HttpServletRequest request, HttpServletRespon ^HelloWorld.java:7: 不能解析符号符号:类 HttpServletResponse位置:类 in HelloWorld public void doGet(HttpServletRequest request, HttpServletRespon ^HelloWorld.java:8: 不能解析符号符号:类 ServletException位置:类 in HelloWorld throws IOException, ServletException ^6 个错误 需要配置CLASS_PAHTH文件的,实在不想再说了。。 但觉得apache跟tomcat合作时容易出现安全问题! 只用tomcat就可以了,上面大侠们说的很对。学习,学习!! tomcat就是一个servlet的容器!运行jsp文件也是把jsp翻译成servlet运行的! biggie(飞碟)兄。你的例子的结果怎么会是这样,看不懂,!指点import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Hello extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println("Hello World!"); out.println(""); out.println(""); } } first :copy servlet.jar JAVA_HOME/jre/lib/extthen :javac HelloWorld.javathen: copy HelloWorld.class ......./WEB-INF/classthen :edit CATALIB+NA_HOME/conf/web.xml // 激活servlet的默认目录then :http://localhost:8080/servlet/HelloWorld:-) .Good luck ~~~~ 上文该是:edit CATALINA_HOME/conf/web.xml // 激活servlet的默认目录 十分感谢以上仁兄的指点,还有个问题,如果我的servlet中要用到jsp和bean,请问应该放到哪里??多谢了:) jsp放到context root下,在此目录下有web-inf目录,将bean放到web-inf/classes下,参考一下tomcat的documentation,很详细,或参考jsp specification servlet的.class文件放在 tomcat/webapps/WEB-INF/classes/包名/ 中然后用http://url:port/servlet/包名.类名就ok了上面高手们说的都很对努力学习! biggie兄,我按你的方法,把HelloWorld放在tomcat的webapps\ROOT\WEB-INF\classes里然后运行:http://localhost:8080/servlet/HelloWorld出错:The requested resource (/servlet/HelloWord) is not available我修改了..conf/server.xml<!-- Tomcat Root Context --> <Context path="/root" docBase="root" debug="0" reloadable="true" crossContext="true"> </Context> <!-- Tomcat Examples Context --> <!-- your web site--> <Context path="/test" docBase="test" debug="0" reloadable="true" crossContext="true"> </Context> 还是没用,我不知道怎样修改..conf/web.xml 郁闷请指点,小弟先谢了! 更正:The requested resource (/servlet/HelloWorld) is not available出错依然 <?xml version="1.0" encoding="ISO-8859-1"?> <web-app><servlet><servlet-name>voteServlet</servlet-name> //Servlet 的名字<servlet-class>jsp.voteServlet</servlet-class> //所在的包</servlet><servlet-mapping><servlet-name>voteServlet</servlet-name> //指定某个servlet名<url-pattern>/servlet/jsp.voteServlet</url-pattern> //访问方式。</servlet-mapping></web-app> jsp留言板显示问题 请问如何给层加个关闭按钮,谢谢 怎么通过js或者css设置一个文本框为readonly啊? 事务处理问题 父窗体的父窗体的表单元素的引用 你知道特价空间网免费2G全能空间吗? weblogic10 发布web程序报错 哪儿有jive源码下载?要有.java的文件的 ResultSet接口中的方法不能用 关于.XML的配置文件的DTD 如何实现 简单问题
Tomcat负责解析Servlet/JSP(同时也有一定的HTML/XML解析功能);最好是两者配套使用,构建一个高效的Web环境。
只需要把servlet的.class文件放在 %tomcat%/webapps/WEB-INF/classes/包名/ 中
然后用http://url:port/servlet/包名.类名
就可以访问了
只需要把servlet的.class文件放在 %tomcat%\webapps\ROOT\WEB-INFclasses\包名\ 中若更改了xml配置文件的话,相信你自己也知道应该放在哪儿了
给你一个helloword的例子!
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;public class HelloWorld extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<head>");
out.println("<title>Hello World!</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Hello World!</h1>");
out.println("</body>");
out.println("</html>");
}
}
运行的时候http://url:port/servlet/包名.类名
本例子为:
端口8080
HelloWorld放在tomcat的webapps\ROOT\WEB-INF\classes里
运行:
http://localhost:8080/servlet/HelloWorld
import javax.servlet.*;
^
HelloWorld.java:3: 包 javax.servlet.http 不存在
import javax.servlet.http.*;
^
HelloWorld.java:5: 不能解析符号
符号:类 HttpServlet
位置:类 in HelloWorld
public class HelloWorld extends HttpServlet {
^
HelloWorld.java:7: 不能解析符号
符号:类 HttpServletRequest
位置:类 in HelloWorld
public void doGet(HttpServletRequest request, HttpServletRespon
^
HelloWorld.java:7: 不能解析符号
符号:类 HttpServletResponse
位置:类 in HelloWorld
public void doGet(HttpServletRequest request, HttpServletRespon
^
HelloWorld.java:8: 不能解析符号
符号:类 ServletException
位置:类 in HelloWorld
throws IOException, ServletException
^
6 个错误
学习,学习!!
运行jsp文件也是把jsp翻译成servlet运行的!
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class Hello extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println(""); out.println("
Hello World!
"); out.println(""); out.println(""); } }
请问应该放到哪里??
多谢了:)
就ok了
上面高手们说的都很对
努力学习!
然后运行:
http://localhost:8080/servlet/HelloWorld
出错:
The requested resource (/servlet/HelloWord) is not available
我修改了..conf/server.xml
<!-- Tomcat Root Context -->
<Context path="/root" docBase="root" debug="0"
reloadable="true" crossContext="true">
</Context> <!-- Tomcat Examples Context -->
<!-- your web site-->
<Context path="/test" docBase="test" debug="0"
reloadable="true" crossContext="true">
</Context>
还是没用,我不知道怎样修改..conf/web.xml 郁闷
请指点,小弟先谢了!
The requested resource (/servlet/HelloWorld) is not available
出错依然
<web-app><servlet>
<servlet-name>voteServlet</servlet-name> //Servlet 的名字
<servlet-class>jsp.voteServlet</servlet-class> //所在的包
</servlet>
<servlet-mapping>
<servlet-name>voteServlet</servlet-name> //指定某个servlet名
<url-pattern>/servlet/jsp.voteServlet</url-pattern> //访问方式。
</servlet-mapping></web-app>