Spring URL没有变化

时间:2017-04-27 12:02:19

标签: java spring spring-mvc

我是春天的新手。

在索引页面中,我有一个像这样的jsp代码:

<a href="ja4s"><br> Click here to check the output :-)</a>

在Controller中,我有以下代码:

@RequestMapping("/ja4s")
public ModelAndView helloWorld() {
    String msg =  "Welcome to Java4s.com Spring MVC 3.2.x                                          Sessions";

    msg += "<br>You Did it....!";

    return new ModelAndView("welcomePage", "welcomeMessage", msg);
}

web.xml中,我有一个这样的网址格式:

<url-pattern>/</url-pattern>

当我尝试运行该项目时,它会向我显示一个这样的网址

http://localhost:8080/SpringMvcHelloWorldProgram/

当我点击链接时,它会将我引导到其他页面并显示如下的URL:

http://localhost:8080/SpringMvcHelloWorldProgram/ja4s
  1. 现在我的疑问是我们在控制器中返回一个模型并查看对象 我们将被重定向到 welcomepage ,这是由控制器中的模型和视图对象提供的。
  2. 但是我的理解应该是这样的

    http://localhost:8080/SpringMvcHelloWorldProgram/welcomepage.
    

    相反,它会向我显示这样的网址

     http://localhost:8080/SpringMvcHelloWorldProgram/ja4s
    
    1. 当我更改web.xml中的网址格式
    2. <url-pattern>*.jsp</url-pattern> <!-- It is giving me an error. -->
      

      根据我在上述URL模式中的理解,它应该只接受以jsp结尾的页面(我提供的),但是收到的错误是在服务器中找不到所请求的资源。

      任何人都可以帮助我解决上述两个问题吗? :)

1 个答案:

答案 0 :(得分:0)

简单解释一下, 网址

http://localhost:8080/SpringMvcHelloWorldProgram/ja4s

是客户端(浏览器)请求的资源(welcomepage.jsp)位置的地址或路径。

所以你不应该期待看到

http://localhost:8080/SpringMvcHelloWorldProgram/welcomepage.jsp

这就是bar被称为地址栏而不是资源栏的原因。地址栏上的信息是当前查看资源的地址。