如何在服务器上访问servlet?

时间:2012-04-23 23:45:49

标签: java jsp servlets web

上传文件时出现很多错误。但是,它们在我的本地主机上完美运行。

我有一个表单,其动作是一个servlet。我知道文件的结构迫使我将所有.class文件放在目录/WEB-INF/classes中。问题是当我将其写为表单操作/WEB-INF/classes/myservlet时,我收到此消息:

"You don't have permission to access /WEB-INF/classes/myservleton this server".

我需要做些什么来纠正这个问题?

更新:这是web.xml

的一部分
<servlet>
    <servlet-name>addservlet</servlet-name>
    <servlet-class>app.addservlet</servlet-class>
</servlet>

<servlet-mapping>
    <servlet-name>addservlet</servlet-name>
    <url-pattern>/addservlet</url-pattern>
</servlet-mapping> 

这是我提交表单时请求的网址:

http://mydomain.com/addservlet

我得到Not Found错误

The requested URL /addservlet was not found on this server

2 个答案:

答案 0 :(得分:0)

您需要在web.xml文件中映射servlet ...请参阅http://static.springsource.com/projects/tc-server/6.0/getstart/rgswebxml.html中的第一个示例

<?xml version="1.0" encoding="ISO-8859-1" ?>
<web-app 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"
    version="2.4">
      <servlet>
        <servlet-name>myservlet</servlet-name>
        <servlet-class>my.package.myservlet</servlet-class> (or what ever package you use)
    </servlet>

    <servlet-mapping>
        <servlet-name>myservlet</servlet-name>
        <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>
</web-app>

然后将动作指向/ myservlet

答案 1 :(得分:0)

当正确的URL发送到服务器时,servlet运行java类。这是通过您必须在web.xml中定义的“mapping”属性完成的。始终保护WEB-INF下的资源不被URL访问。