Tomcat不接收类文件 - 不显示JSP文件

时间:2011-11-17 17:47:30

标签: java jsp java-ee tomcat

我有一个Java代码,它是jsp页面的控制器,名为:HomeController.java。代码如下:

@Controller
public class HomeController {

    protected final transient Log log = LogFactory.getLog(getClass());

    @RequestMapping(value = "/mypage")
    public String home() {
        System.out.println("HomeController: Passing through...");
        return "home";
    }
}

jsp页面中没有特别的东西:home.jsp。如果我去这个网址:

http://localhost:8080/adcopyqueue/mypage

我可以查看我的网页,一切正常。同样在tomcat Dos页面中我可以看到评论:

HomeController: Passing through...

正如所料。

现在在我有HomeController.java的同一目录下,我创建了另一个名为:LoginController.java的文件。以下是代码:

@Controller
public class LoginController {

    protected final transient Log log = LogFactory.getLog(getClass());

    @RequestMapping(value = "/loginpage")
    public String login() {
        System.out.println("LoginController: Passing through...");        
        return "login";
    }
}

在我home.jsp的同一个地方,我创建了login.jsp。

同样在tomcat文件夹下,LoginController.class存在于HomeController.class存在的同一文件夹下,login.jsp存在于home.jsp所在的同一文件夹下。

但是当我转到这个网址时:http://localhost:8080/adcopyqueue/loginpage

什么都没显示!我认为tomcat没有在tomcat Dos窗口中选择LoginController.class b / c,我没有看到这个评论:

LoginController: Passing through...

相反,我看到以下哪些我不知道它们是什么意思?

[ INFO] [http-8080-1 01:43:45] (AppInfo.java:populateAppInfo:34) got manifest
[ INFO] [http-8080-1 01:43:45] (AppInfo.java:populateAppInfo:36) manifest entrie
s 8

HomeController.java和LoginController.java的结构和代码加上jsp文件匹配。我不知道为什么tomcat会看到其中一个文件而不是另一个?

清洁构建没有帮助。有人有什么想法吗?非常感谢任何帮助。

这是web.xml:config file:

的一部分
<servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>/app/*</url-pattern>               </servlet-mapping> <filter-mapping> <filter-name>rewriteFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> –

刚刚发现: 我修改了LoginController中方法的返回值:

@RequestMapping(value = "/login")

以下:

@RequestMapping(value = "/myLastName")

它刚刚起作用!网页被视为预期,在Tomcat Dos窗口中,现在我看到了这个评论:

LoginController:传递......

之前我确实怀疑过这个命名并尝试了“登录”,“登录页面”和“登录页面1”,但没有一个有效!不知道为什么会发生这种情况!任何带有“登录”字样的名称都有问题!最终它应该与“登录”工作!!!

我刚注意到的另一件事: 只要value =“/任何以login登录的名称”

,LoginController就无法工作

所以对于前。登录,登录页面,...将无法正常工作。但是,pagelogin有效,这意味着名称不应以单词:login。

开头

1 个答案:

答案 0 :(得分:0)

好的,这就是我的经理回答的原因......也许这有助于将来的某些人: - )

在urlrewrite.xml中,为:

设置了规则
<!-- Add rules here for anything that shouldn't be served up by Spring MVC. -->

所以我们评论了以下几行来跳过规则:

<rule>
    <from>/login*</from>
    <to>/login.jsp</to>
</rule>
<rule>
    <from>/logout*</from>
    <to>/logout.jsp</to>
</rule>