怪事2则 过来看看 问题1:你重启tomcat了吗?问题2:你的classpath里面加上当前目录“.”了吗?这样吧:set classpath=.;%classpath% 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (1)的问题应该不是大问题,仔细加查一下,如果是想在目录下重新建立结构的话,那么有些相应的配制文件还是需要!(2)的问题,可能是由于你的路径设置有点问题其实直接一次编译两个类就可以那! javac messagevo.java messageadd.java 可以一次实现编译而且不会出错! 谢谢上面2位朋友的帮助先;我的tomcat重启了问题2:你的classpath里面加上当前目录“.”了吗?这样吧:set classpath=.;%classpath%什么意思啊 我是新手不太明白 说清点好吗?(1)的问题应该不是大问题,仔细加查一下,如果是想在目录下重新建立结构的话,那么有些相应的配制文件还是需要! 我的xu.html就是个留言簿的首页啊 还要什么配置啊(2)的问题,可能是由于你的路径设置有点问题我的路经就是这样啊webapps/xujsp/web-inf/classes下有什么问题啊? web-inf 似乎应该大写为 WEB-INF 吧? 还有 WEB-INF 目录先应该存在classes子目录和web.xml文件.具体哪个是必须的我也不是很清楚,反正每次都给加上,只有一个应用目录而没有WEB-INF目录的话,里面的东西tomcat是不认的. servlet路径问题,访问的应该是localhost:8080/xh7/Hello 如果messageadd.java属于某一个包,或者继承了其它类文件,那么就不能直接在当前目录用不带参数的javac编译了.假设messageadd.java属于 aaa.bbb.ccc包,那么编译的时候就应该把当前目录设为aaa的第一层父目录,例如:C:\tomcat5\webapps\xujsp\WEB-INF\classes\>javac aaa.bbb.ccc/messageadd.java如果继承了其它的类,那么编译的时候可以这样写:假设继承了jjj类, javac -classpath "" jjj.java messageadd.java当然这只是我常用的写法,殊途同归的写法很多,有兴趣的话可以自己去查资料. 给你一个web.xml的例子:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"><web-app> <servlet> <servlet-name>forky</servlet-name> <servlet-class>jspservletbean.forky</servlet-class> </servlet> <servlet-mapping> <servlet-name>forky</servlet-name> <url-pattern>/forky</url-pattern> </servlet-mapping></web-app>其中 <servlet-mapping>并非必须,可写可不写.关键是<servlet-name>和<servlet-class>,<servlet-name>是servlet的逻辑名,在servlet规范中必须和实际的servlet类名不一样,但是在tomcat中没有这种限制.<servlet-class>是实际的servlet类文件的相对路径,必须写对,否则找不到servlet,一般以WEB-INF\classes为根,把其下的包名和类名结合写出来就行了.例如我的jspservletbean.forky,它在文件夹中的结构是WEB-INF\classes\jspservletbean\forky.class <servlet-mapping>的作用是把servlet的实际路径映射为一个简单方便的路径.这样在包结构比较复杂的时候特别有用.例如把jspservletbean.forky 映射为 /forky ,那么本来需要写成 http://localhost:8080/myapp/jspservletbean/forky 才能访问的servlet,只需写为http://localhost:8080/myapp/forky 就可以访问了. (1)你的WEB-INF下是不是有个错误的web.xml文件把它删除试一下吧我以前也碰到过这样的问题 再问个简单servlet中的web.xml的问题:我有个HelloServlet.java的servlet文件web.xml文件的配置中有 <servlet-mapping> <servlet-name>HelloServlet</servlet-name> <url-pattern>/Hello</url-pattern> </servlet-mapping>localhost:8080/xh7/servlet/HelloServlet可以运行localhost:8080/xh7/servlet/Hello 就不能啊<url-pattern>/Hello</url-pattern>这个代码是什么意思啊不是说把HelloServlet映射为Hello吗? 可以帮我解释一下这个代码是什么意思吗或给我个servlet的资料吧 谢谢了 web-inf大写还是小写没有关系吧 1.up xuloveweb(眼睛好累) web.xml很重要,要么你没有这个文件,要么是写错了吧2.是不是第二个类没引入第一个呢? =6= Servlet映射配置 <servlet> <servlet-name>register</servlet-name><!-- 映射名,随意取 --> <servlet-class>com.yaray.servlet.Register</servlet-class><!-- 类的全路径 --> </servlet> <servlet-mapping> <servlet-name>register</servlet-name><!-- 映射名 与上面的一致,包括大小写 --> <url-pattern>/UserRegister</url-pattern><!-- URL,就是在IE中的访问路径 --> </servlet-mapping> 作了以上配置以后,在IE的地址栏中如此访问:http//localhost:8080/UserRegister =3= Web应用的目录结构(可在任意位置建立此目录结构并作以下配置) D: ..| ..+--myApp ..........| ..........+--index.jsp(首页:也可以是其他类型的文件,如:index.htm,index.html,...可在web.xml文件中指定) ..........| ..........+--WEB-INF ..........|.........| ..........|.........+--web.xml <==此文件必须存在(可从别处复制一个,再去除对此应用无用的内容) ..........|.........| ..........|.........+--classes\ <==按包名结构建立相应目录(区分大小写)并放置class文件 ..........|.........|.........| ..........|.........|.........+--[包名\]类名.class ..........|.........| ..........|.........+--src\ <==放置所有Java源文件(仅建议) ..........|.........|.....| ..........|.........|.....+--[包名\]类名.java ..........|.........| ..........|.........+--lib\ <==放置仅用于此应用的.jar文件(如数据库驱动)(仅建议) ..........| ..........+--images\ <==放置所有图片文件(仅建议) ..........|........| ..........|........+--logo.gif ..........| ..........+--功能模块名\ <==按各功能模块放置所有.jsp文件(仅建议)[功能模块名用英文字母]=4= 配置虚拟目录 (配置conf\server.xml文件) 1.查找"<Context ",定位到以后,在新的一行写如下内容(注意不要在HTML注释符中间"<!--此段文件被注释掉-->"): <Context path="/myFirstApp" docBase="D:\myApp" reloadable="true" debug="0"/> 参数说明: path ==> 虚拟路径(即在浏览器地址栏中访问的URL) docBase ==> 真实路径 reloadable ==> 表示类被修改后是否自动重新装载(开发阶段可设置为true;发布应用后应设置为false) 创建context时选择reloadable以后每次想重新加载就在浏览器里输入 http://localhost:8080/manager/reload?path=/myFirstApp path ==>与上面配置的path相同(虚拟路径(即在浏览器地址栏中访问的URL)) 2.保存配置并重新启动Tomcat. 3.访问: http://localhost:8080/myFirstApp 如果Tomcat已经启动,并且在D:\myApp目录下存在首页的话,应该就可以显示其中的内容了. *_* 给两个文件加到一个package中,然后在包的上一级进行编译即可。 1.你需在*.XML中在设个文件夹即可2.SERVLET.JAR在CLASSPATH加了吗 Js问题 在Action中获取servletContext java web 开发 java web权限的问题 struts2如何迭代数据库数据 怎么把数字型转换成字符型 怎么设置文件上传的输入域为只读域或隐藏输入域(浏览按钮可用)? 昨天才散了100分,今天再散50分,求教一个很简单的问题,老规矩,给思路有分 标签迭代对象输出序号 急!在线等!!!ORA-00933: SQL 命令未正确结束 java.sql.SQLException: ORA-00933: SQL 命令未正确结束 关于大流量网站的技术选择 下一步该干什么?
其实直接一次编译两个类就可以那!
javac messagevo.java messageadd.java 可以一次实现编译而且不会出错!
我的tomcat重启了
问题2:你的classpath里面加上当前目录“.”了吗?
这样吧:set classpath=.;%classpath%
什么意思啊 我是新手不太明白 说清点好吗?(1)的问题应该不是大问题,仔细加查一下,如果是想在目录下重新建立结构的话,那么有些相应的配制文件还是需要!
我的xu.html就是个留言簿的首页啊 还要什么配置啊
(2)的问题,可能是由于你的路径设置有点问题
我的路经就是这样啊webapps/xujsp/web-inf/classes下
有什么问题啊?
假设继承了jjj类, javac -classpath "" jjj.java messageadd.java当然这只是我常用的写法,殊途同归的写法很多,有兴趣的话可以自己去查资料.
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>forky</servlet-name>
<servlet-class>jspservletbean.forky</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>forky</servlet-name>
<url-pattern>/forky</url-pattern>
</servlet-mapping>
</web-app>其中 <servlet-mapping>并非必须,可写可不写.关键是<servlet-name>和<servlet-class>,<servlet-name>是servlet的逻辑名,在servlet规范中必须和实际的servlet类名不一样,但是在tomcat中没有这种限制.<servlet-class>是实际的servlet类文件的相对路径,必须写对,否则找不到servlet,一般以WEB-INF\classes为根,把其下的包名和类名结合写出来就行了.例如我的jspservletbean.forky,它在文件夹中的结构是WEB-INF\classes\jspservletbean\forky.class
你的WEB-INF下是不是有个错误的web.xml文件
把它删除试一下吧我以前也碰到过这样的问题
我有个HelloServlet.java的servlet文件
web.xml文件的配置中有 <servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/Hello</url-pattern>
</servlet-mapping>localhost:8080/xh7/servlet/HelloServlet可以运行
localhost:8080/xh7/servlet/Hello 就不能啊<url-pattern>/Hello</url-pattern>这个代码是什么意思啊
不是说把HelloServlet映射为Hello吗?
可以帮我解释一下这个代码是什么意思吗或给我个servlet的资料吧
谢谢了
web.xml很重要,要么你没有这个文件,要么是写错了吧
2.是不是第二个类没引入第一个呢?
<servlet>
<servlet-name>register</servlet-name><!-- 映射名,随意取 -->
<servlet-class>com.yaray.servlet.Register</servlet-class><!-- 类的全路径 -->
</servlet> <servlet-mapping>
<servlet-name>register</servlet-name><!-- 映射名 与上面的一致,包括大小写 -->
<url-pattern>/UserRegister</url-pattern><!-- URL,就是在IE中的访问路径 -->
</servlet-mapping> 作了以上配置以后,在IE的地址栏中如此访问:http//localhost:8080/UserRegister
D: ..|
..+--myApp ..........|
..........+--index.jsp(首页:也可以是其他类型的文件,如:index.htm,index.html,...可在web.xml文件中指定)
..........|
..........+--WEB-INF ..........|.........|
..........|.........+--web.xml <==此文件必须存在(可从别处复制一个,再去除对此应用无用的内容)
..........|.........|
..........|.........+--classes\ <==按包名结构建立相应目录(区分大小写)并放置class文件
..........|.........|.........|
..........|.........|.........+--[包名\]类名.class
..........|.........|
..........|.........+--src\ <==放置所有Java源文件(仅建议)
..........|.........|.....|
..........|.........|.....+--[包名\]类名.java
..........|.........|
..........|.........+--lib\ <==放置仅用于此应用的.jar文件(如数据库驱动)(仅建议)
..........|
..........+--images\ <==放置所有图片文件(仅建议)
..........|........|
..........|........+--logo.gif
..........|
..........+--功能模块名\ <==按各功能模块放置所有.jsp文件(仅建议)[功能模块名用英文字母]
=4= 配置虚拟目录 (配置conf\server.xml文件)
1.查找"<Context ",定位到以后,在新的一行写如下内容(注意不要在HTML注释符中间"<!--此段文件被注释掉-->"):
<Context path="/myFirstApp" docBase="D:\myApp" reloadable="true" debug="0"/>
参数说明:
path ==> 虚拟路径(即在浏览器地址栏中访问的URL)
docBase ==> 真实路径
reloadable ==> 表示类被修改后是否自动重新装载(开发阶段可设置为true;发布应用后应设置为false)
创建context时选择reloadable以后每次想重新加载就在浏览器里输入
http://localhost:8080/manager/reload?path=/myFirstApp
path ==>与上面配置的path相同(虚拟路径(即在浏览器地址栏中访问的URL))
2.保存配置并重新启动Tomcat.
3.访问: http://localhost:8080/myFirstApp
如果Tomcat已经启动,并且在D:\myApp目录下存在首页的话,应该就可以显示其中的内容了. *_*
2.SERVLET.JAR在CLASSPATH加了吗