回 帖 发 新 帖 刷新版面

主题:Eclipse做Web,路径设置的问题,急!!!

我在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个回复)

沙发

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>设置映射地址。

板凳

我的Servlet文件是可以正常运行的,就是通过一个Html文件的action事件触发到我的
Servlet就找不到我的Servlet文件了,就是action="?"里面的路径问题。

3 楼

<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 楼

搞了半天,还是不行,笨死了。

5 楼

多看看例子,jsp2.0技术手册,这本书不错,网上有电子版的

6 楼

1楼说的对,就是web.xml的url-pattern配置问题

7 楼

我并没有配置url-pattern已经实现了。
就是直接写:/工程名/源文件名
就可以了~
谢谢楼上两位!

8 楼

[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 楼

[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 楼

- -0那没折了,我想项目中不会允许这么做的

我来回复

您尚未登录,请登录后再回复。点此登录或注册