小编spl*_*gak的帖子

Tomcat无法找到我的Servlet并抛出异常,但为什么呢?

我正在尝试进入Java Web开发,但似乎遇到了Tomcat和一个非常简单的servlet的奇怪问题.每当我尝试加载应用程序时,catalina日志就会出现这种情况:

Caused by: java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name MyServlet
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:2393)
    at org.apache.catalina.core.StandardContext.addServletMapping(StandardContext.java:2373)
    ... 40 more
Mar 4, 2009 10:37:58 AM org.apache.catalina.startup.ContextConfig applicationWebConfig
SEVERE: Parse error in application web.xml file at jndi:/localhost/mywebapp/WEB-INF/web.xml
java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name MyServlet
Run Code Online (Sandbox Code Playgroud)

做得体面.它似乎找不到我的servlet.但是,servlet似乎在正确的位置.我可以在WEB-INF/classes/MyServlet.class中清楚地看到它

作为参考,这是我目前使用的web.xml文件:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> 
    <description>My first web app in Java.</description>
    <display-name>My Web App</display-name>

    <servlet>
        <servlet-name>MyServlet</servlet-name>
        <servlet-class>MyServlet</servlet-class>
    </servlet>

    <servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/myservlet</url-pattern>
    </servlet-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我保持简单......但它不断抛出这个异常.一个简陋的Web应用程序在Java中是什么样的,我错过了哪些组件?

更新

为了绝对确定它不是某种神器,我启动了一个新的Tomcat副本并再次尝试.这样做后,这开始出现在日志文件中:

SEVERE: …
Run Code Online (Sandbox Code Playgroud)

java tomcat

10
推荐指数
1
解决办法
3万
查看次数

是否可以让MouseMotionListener监听所有系统鼠标运动事件?

我的样板监听器:

class MyMouseMotionListener implements MouseMotionListener {
public void mouseDragged(MouseEvent e) {
    System.out.println("Dragged...");
}

public void mouseMoved(MouseEvent e) {
    System.out.println("Moved...");
}}
Run Code Online (Sandbox Code Playgroud)

很简单,但是为了收听系统范围的事件,我应该添加什么?我一直在研究像GraphicsDevice和AccessibleContext子类这样的东西 - 它们不直接添加MouseMotionListener,但我希望它们可以让我知道如何实现它.

编辑:这根本不是基于事件的,但我发现了这个:

MouseInfo.getPointerInfo().getLocation()
Run Code Online (Sandbox Code Playgroud)

实际上,即使应用程序本身没有焦点,也会在我的应用程序上下文之外返回鼠标位置.有没有办法观察这个并在其值发生变化时派遣一个事件?

java swing awt

5
推荐指数
2
解决办法
5694
查看次数

将您刚收到的变量作为参数投射的最优雅的方法是什么?

更具体地说,在paint()调用中将Graphics对象强制转换为Graphics2D对象的最优雅方法是什么?

public void paint(Graphics g) {
    // How do I convert/cast/etc the g variable to a Graphics2D object?
}
Run Code Online (Sandbox Code Playgroud)

或者我错过了这里的观点?有没有更好的方法来处理这个问题?

java graphics

1
推荐指数
1
解决办法
303
查看次数

标签 统计

java ×3

awt ×1

graphics ×1

swing ×1

tomcat ×1