servlet在web.xml中进行配置后,挂到服务器时出错

开发环境:eclipse+Tomcat
开发语言:HTML+CSS+JavaScript+JSP

在使用JSP的servlet时,必须对servlet在web.xml中进行<servlet><servlet-mapping>配置,配置形式如下图所示:



当把JSP工程放到服务器上运行时出现如下入错误:

Server at localhost failed to start.




在Console视图中的错误提示如下:

A child container failed during start

cause by Failed to start component

cause by the sarvlet named [x] and [Y] are both mapped to the url [/url] which is not permitted

...........................................................



解决办法(二选一):
1. 打开自己的XXXServlet.Java,删除@WebServlet(“XXXXXX”),并在web.xml中正确配置<servlet>和<servlet-mapping>
2. 打开自己的XXXServlet.java,在public class Servlet extends HttpServlet{ 上面一行添加 @WebServlet(name="XXXServlet" , urlPatterns="/XXXServlet"),并删除web.xml中的所有配置内容。


解释:
目前,Servlet 3.0是Servlet规范的最新版本,其新增了注释的特性,如@WebServlet、@WebFilter、@WebListener等,通过注释就无需在web.xml中进行配置。eclipse中,通过File/New/servlet创建servlet时会自动生成@WebServlet("/XXX"),也就是自动注释了URL地址映射部分。
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在web.xml文件,可以通过<servlet>和<servlet-mapping>元素来配置servlet。其,<servlet>元素用于指定servlet的名称和类名,<servlet-mapping>元素用于指定servlet的URL映射。具体配置方法如下: 1. 配置<servlet>元素 <servlet>元素包含以下子元素: <servlet-name>:指定servlet的名称,必须唯一。 <servlet-class>:指定servlet的类名,必须是完整的类名,包括包名。 <init-param>:可选元素,用于指定servlet的初始化参数。 示例: <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> <init-param> <param-name>param1</param-name> <param-value>value1</param-value> </init-param> </servlet> 2. 配置<servlet-mapping>元素 <servlet-mapping>元素包含以下子元素: <servlet-name>:指定servlet的名称,必须与<servlet>元素的名称相同。 <url-pattern>:指定servlet的URL映射,可以是一个具体的URL,也可以是一个通配符。 示例: <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> 以上就是servletweb.xml配置方法。 ### 回答2: Servlet 是 Java Web 应用程序开发重要的一部分, 它可以响应来自客户端的 web 请求。 在 Web 应用程序,可以通过在 web.xml 配置文件配置 Servlet 来管理它们。 web.xml 是一个特殊的 XML 文件,这个文件包含了关于 Web 应用程序的重要信息,例如 Servlet 容器应如何处理 Web 应用程序的请求。 Servlet 通常被配置web.xml 文件, 这个文件在 Web 应用程序的 WEB-INF 目录。要添加一个 Servlet,首先需要在 web.xml 文件定义一个 Servlet 元素,如下所示: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> ``` 在上述配置servlet-name 元素定义了 Servlet 的别名,servlet-class 元素定义了 Servlet 类的完整名称,以及包含 Servlet 代码的 Java 类文件的路径。上面的示例显示了如何配置一个简单的 Servlet,并将其命名为 MyServlet。 接下来, Servlet 要映射到一个 URL,这将告诉 Web 容器在何处调用 Servlet。可以使用 servlet-mapping 元素将 Servlet 映射到 URL,如下所示: ```xml <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> ``` 在上述配置servlet-name 元素定义了将要映射的 Servlet,而 url-pattern 元素定义了客户端请求的 URL。上面的示例,客户端请求的 URL 为 /myservlet。 除此之外,在 web.xml 文件还可以为每个 Servlet 配置初始化参数,这些参数在 Servlet 初始化会被传递给 Servlet。可以使用 init-param 元素来配置 Servlet 初始化参数,如下所示: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> <init-param> <param-name>database-url</param-name> <param-value>jdbc:mysql://localhost/testDB</param-value> </init-param> </servlet> ``` 在上述配置, param-name 元素定义了参数名称,而 param-value 元素定义了参数的值。可以在 Servlet 初始化使用 getInitParameter() 方法来获取这些参数的值。 在 Web 应用程序定义 Servlet 是 Web 应用程序重要的一部分,在 web.xml 文件配置 Servlet 也就是使得 Web 容器可以根据 URL 来正确地识别需要调用的 Servlet。定义和配置一个 Servlet 的过程比较简单, 只需要遵循一定的规则即可。最终,这个 Servlet 将会响应来自客户端的请求并提供对应的资源返回给客户端。 ### 回答3: 在Java Web应用程序Servlet是一种处理客户端请求和响应的Java程序。当浏览器发送请求Servlet可以返回动态的HTML页面,这使得Servlet在Web应用程序非常有用。在Java Web应用程序Servletweb.xml文件进行配置Web.xml文件是Java Web应用程序的核心配置文件。它用于配置Web应用程序Servlet,过滤器,监听器以及其他相关组件。以下是如何配置Servletweb.xml文件: 1.声明Servlet: 在web.xml文件,我们可以使用<servlet>元素来声明一个Servlet。为了声明一个Servlet,需要在web.xml文件添加以下代码 <servlet> <servlet-name>helloworld</servlet-name> <servlet-class>com.example.HelloWorldServlet</servlet-class> </servlet> 其servlet-name指定Servlet的名称,servlet-class指定Servlet的类名。 2.映射Servlet: 在web.xml文件,我们可以使用<servlet-mapping>元素来声明一个Servlet的映射。通过将Servlet映射到URL,我们可以将Servlet绑定到特定的URL上。为了将Servlet映射到URL,需要在web.xml文件添加以下代码: <servlet-mapping> <servlet-name>helloworld</servlet-name> <url-pattern>/hello/*</url-pattern> </servlet-mapping> 其servlet-name指定Servlet的名称,url-pattern指定Servlet映射到的URL。 3.指定Servlet参数: 在web.xml文件,我们可以为Servlet指定参数。为了指定Servlet参数,需要在<servlet>元素添加<init-param>元素。以下是一个示例代码: <servlet> <servlet-name>helloworld</servlet-name> <servlet-class>com.example.HelloWorldServlet</servlet-class> <init-param> <param-name>message</param-name> <param-value>Hello World!</param-value> </init-param> </servlet> 其, param-name指定参数的名称,param-value指定参数的值。 以上是Servletweb.xml文件配置。通过这些配置,我们可以为Servlet指定名称,映射到URL,以及指定参数。在实际应用,我们可以通过这些配置轻松地管理Servlet并为Web应用程序添加功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值