Java springmvc 项目复刻知乎

如果想要复刻知乎怎么做呢?

第一步当然是使用知乎。

第二步应该仔细查看url然后建立我们的url映射关系。

点击个人主页

我们发现url变成了这样

https://www.zhihu.com/people/xxx/activities

activity在这里表示动态,其他的页面包括文章,回答,提问等等。

这些url的格式都一样,除了url的末尾名词会改变。

所以我们可以很简单的匹配这些名词和用户id。

package test.SpringMVC;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/people")
public class Activities {
    @RequestMapping("/{id}/activity")
    public String getAcitivty(@PathVariable("id") Integer id){
    	System.out.println("[Activity user = ] "+id);
        return null;
    }
    @RequestMapping("/{id}/answers")
    public String getAnswers(@PathVariable("id") Integer id){
    	System.out.println("[回答user = ] "+id);
        return null;
    }
    @RequestMapping("/{id}/asks")
    public String getAsks(@PathVariable("id") Integer id){
    	System.out.println("[提问 user = ] "+id);
        return null;
    }
    @RequestMapping("/{id}/posts")
    public String getPosts(@PathVariable("id") Integer id){
    	System.out.println("[文章 user = ] "+id);
        return null;
    }
    @RequestMapping("/{id}/columns")
    public String getColumns(@PathVariable("id") Integer id){
    	System.out.println("[专栏  user = ] "+id);
        return null;
    }
}

代码就像这样,非常简单。匹配到userid然后返回我们的页面。但是这个时候我们还没有任何的内容(视图view),所以暂时返回null就好。

现在添加几个jsp页面,在里面加入简单的提示信息。

然后我们修改return的值(jsp页面)。


现在我们测试这些页面:

http://localhost:8080/Blog2/people/1/asks

http://localhost:8080/Blog2/people/1/anwsers

http://localhost:8080/Blog2/people/1/posts

http://localhost:8080/Blog2/people/1/asks

http://localhost:8080/Blog2/people/1/columns

都没有任何问题。

package test.SpringMVC;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/people")
public class Activities {
    @RequestMapping("/{id}/activity")
    public String getAcitivty(@PathVariable("id") Integer id){
    	System.out.println("[Activity user = ] "+id);
        return "Activity";
    }
    @RequestMapping("/{id}/answers")
    public String getAnswers(@PathVariable("id") Integer id){
    	System.out.println("[回答user = ] "+id);
        return "Answer";
    }
    @RequestMapping("/{id}/asks")
    public String getAsks(@PathVariable("id") Integer id){
    	System.out.println("[提问 user = ] "+id);
        return "Ask";
    }
    @RequestMapping("/{id}/posts")
    public String getPosts(@PathVariable("id") Integer id){
    	System.out.println("[文章 user = ] "+id);
        return "Post";
    }
    @RequestMapping("/{id}/columns")
    public String getColumns(@PathVariable("id") Integer id){
    	System.out.println("[专栏  user = ] "+id);
        return "Column";
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_39673686/article/details/80710905