主题:Eclipse做Web,路径设置的问题,急!!!
supercrsky
[专家分:580] 发布于 2007-01-24 19:03:00
我在Eclipse建的Web工程,先建了一个Html,然后点击提交(submit按钮)action事件是我写的servlet文件,也就是Servlet包下的Register.java文件,但调用的时候,路径设置不对,试了好多都不行~均无法调用到Servlet包下的Register文件。
这是我的Servlet文件的路径设置
<form action = "../Java Resources:src/Servlet/register" method = post>(Html文件)
Servlet文件在默认的Java Resources:src下面我建了个Servlet里面。
见图:
[img]http://dd.up.topzj.com/data/dd/13/71/48/a/07/01/24/1_3faXGGOUiecF.jpg[/img]
运行出现这个错误:/MyWeb/Java%20Resources:src/Servlet/register
它把空格变成20%了,不知道为什么,还有就是Java Resources:src这个不能改名,我想改个名应该可以,但这个是不允许的~
请指点。
回复列表 (共10个回复)
沙发
yexin218 [专家分:4070] 发布于 2007-01-24 21:45:00
Servlet文件在默认的Java Resources:src
Servlet 应该先在web.xml设置的,比如:
<servlet>
<servlet-name>register</servlet-name>
<servlet-class>packagename/Register</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>register</servlet-name>
<url-pattern>/register</url-pattern>
</servlet-mapping>
这样调试servlet地地址:http://localhost:8080/你的web目录/register.
所以你要在web.xml配置你的servlet, <url-pattern>/register</url-pattern>设置映射地址。
板凳
supercrsky [专家分:580] 发布于 2007-01-24 22:35:00
我的Servlet文件是可以正常运行的,就是通过一个Html文件的action事件触发到我的
Servlet就找不到我的Servlet文件了,就是action="?"里面的路径问题。
3 楼
yexin218 [专家分:4070] 发布于 2007-01-24 22:55:00
<form name="html_name" Method="Post" action="/你的web应用程序目录/register" >
action后面的内容就是你在web.xml配置中的
<url-pattern>/register</url-pattern>
/regster.
给你看个例子:
<html>
<head>
<title>CH2 - Sayhi.html</title>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312">
</head>
<body>
<h2>Servlet 范例程序</h2>[color=800080]
<form name="Sayhi" Method="Post" action="/JSPBook/CH2/Sayhi" >[/color]//这里JSPBook是你的web应用程序的目录
<p>请访问者输入姓名:<input type="text" name="Name" size="30"></p>
<input type="submit" value="提交">
<input type="reset" value="清除">
</form>
</body>
</html>
web.xml
<servlet>
<servlet-name>Sayhi</servlet-name>
<servlet-class>tw.com.javaworld.CH2.Sayhi</servlet-class>//这里是你 servlet所在的目录
</servlet>
<servlet-mapping>
<servlet-name>Sayhi</servlet-name>
[color=FF0000] <url-pattern>/CH2/Sayhi</url-pattern>[/color]
</servlet-mapping>
4 楼
supercrsky [专家分:580] 发布于 2007-01-25 10:22:00
搞了半天,还是不行,笨死了。
5 楼
yexin218 [专家分:4070] 发布于 2007-01-25 13:49:00
多看看例子,jsp2.0技术手册,这本书不错,网上有电子版的
6 楼
adler [专家分:890] 发布于 2007-01-25 23:44:00
1楼说的对,就是web.xml的url-pattern配置问题
7 楼
supercrsky [专家分:580] 发布于 2007-01-27 08:43:00
我并没有配置url-pattern已经实现了。
就是直接写:/工程名/源文件名
就可以了~
谢谢楼上两位!
8 楼
adler [专家分:890] 发布于 2007-02-01 00:37:00
[quote]我并没有配置url-pattern已经实现了。
就是直接写:/工程名/源文件名
就可以了~
谢谢楼上两位![/quote]
基础问题:web工程访问形式 server name+Context+folders+file
[问1]哪来的'/工程名/源文件名'中的工程名?应该是Context
一个纯web工程下只出现3种常用类型文件,.jsp .html .class
.jsp和.html放在webroot下可由用户直接访问及可见文件
.class文件只能放在/WEB-INF/classes下,/WEB-INF内一切文件属于用户不可直接访问及不可见文件
解决访问.class文件方法就是通过web.xml配置<servlet>中<servlet-name><servlet-class>与
<servlet-mapping>中<servlet-name><url-pattern>来进行访问
[问2]如果可以直接访问你说的'/工程名/源文件名'说明源文件在webroot下,而不是在WEB-INF下,实际上webroot下是不允许存放.class文件的,即使在WEB-INF/classes/下有你生成的servlet.class文件,在不设置url-pattern又如何对它进行直接访问?
9 楼
supercrsky [专家分:580] 发布于 2007-02-01 07:59:00
[quote][quote]我并没有配置url-pattern已经实现了。
就是直接写:/工程名/源文件名
就可以了~
谢谢楼上两位![/quote]
基础问题:web工程访问形式 server name+Context+folders+file
[问1]哪来的'/工程名/源文件名'中的工程名?应该是Context
一个纯web工程下只出现3种常用类型文件,.jsp .html .class
.jsp和.html放在webroot下可由用户直接访问及可见文件
.class文件只能放在/WEB-INF/classes下,/WEB-INF内一切文件属于用户不可直接访问及不可见文件
解决访问.class文件方法就是通过web.xml配置<servlet>中<servlet-name><servlet-class>与
<servlet-mapping>中<servlet-name><url-pattern>来进行访问
[问2]如果可以直接访问你说的'/工程名/源文件名'说明源文件在webroot下,而不是在WEB-INF下,实际上webroot下是不允许存放.class文件的,即使在WEB-INF/classes/下有你生成的servlet.class文件,在不设置url-pattern又如何对它进行直接访问?
[/quote]
我的classes就是放在/WEB-INF/classes里面,我并没有通过改web.xml,我把buildPath他的生成路径改了~一样可以解决,并且只需要改一次,所有的都可以用了,如果配置web.xml,写一个文件就得配置一次,没必要。
10 楼
adler [专家分:890] 发布于 2007-02-01 22:21:00
- -0那没折了,我想项目中不会允许这么做的
我来回复