• 零零后糖豆豆
    2023-05-12 来自中国香港
    response设置contentType避免返回中文乱码 response.setContentType("text/html; charset=UTF-8");

    作者回复: 赞

    
    1
  • 风轻扬
    2023-04-02 来自北京
    思考题。我理解:MVC中的bean是为了标识这是一个controller,用来接收处理web层请求,而Spring中的bean感觉是一种服务能力,哪个地方需要这种能力,注入后就可以使用。不知道理解的对不对。 另外,跟代码的过程中,发现一个问题,如果包下有接口,Class.newInstance就会报错的。老师,将controller实例化处的代码是不是应该加个Class.isInstance()的判断呢?

    作者回复: 你的理解是对的。代码问题,MiniSpring是为了学习构建的,不是工业级的。线下听课的几波学生,要对照代码进行扩展练习,自己增加功能特性增加鲁棒性。

    共 4 条评论
    1
  • 云韵
    2023-03-29 来自浙江
    老师 文中的代码和下载的代码分支geek-mvc1 对应不上

    作者回复: 结果是对的上的。这一节中的开始的代码后面被重写了。你手工跟一遍最后就是一样的。不想跟的话,看文稿知道怎么演变过来的也可以。

    
    1
  • x-arts
    2023-03-28 来自北京
    源码给的过于随意了。。。。

    作者回复: 你看下Github上的,文稿中的开始部分的代码后面都重写过了,文稿是要展示演变的过程。minispring的目的是供理解框架的结构用的,便于以后读Spring框架源代码的时候理解。感谢你的指教。

    共 2 条评论
    1
  • 睿智的仓鼠
    2023-03-27 来自湖北
    加入注解后改造的initMapping()方法中 Class<?> clazz = this.controllerClasses.get(controllerName);下面缺少了一行: Object obj = this.controllerObjs.get(controllerName);

    作者回复: 感谢。文稿中排版有点问题。

    
    1
  • KernelStone
    2023-06-03 来自俄罗斯
    搞了半天这节内容对我这种工程小白而言,难是难在从IDEA中进行项目部署。终于跑通了,参考链接如下: 1、https://blog.csdn.net/Wxy971122/article/details/123508532 2、https://blog.csdn.net/fannyoona/article/details/113933113 3、另外有需要可以搜一下Tomcat控制台乱码问题 还有感谢评论区的帮助!

    作者回复: 也感谢你的分享

    
    
  • Yangjing
    2023-04-09 来自广东
    老师,扩展MVC前,启动 Tomcat,是要怎么配置 Tomcat、MiniS 配合启动的呢

    作者回复: 你要配web.xml,下载GitHub上的代码看看

    共 2 条评论
    
  • 睿智的仓鼠
    2023-03-28 来自湖北
    请问郭老师,最后DispatcherServlet中的controllerObjs和mappingObjs这两个map,存储的都是请求地址和处理请求的bean的映射关系,这里为什么要维护两份?我能理解它们的思想不同,但也想不出维护两份后期会有什么扩展。后期会体现出这样做的好处吗?

    作者回复: 不一样啊,一个是servletname另一个是URLMapping。

    
    
  • adelyn
    2023-04-09 来自北京
    感谢老师,之前没注意过requestMapping为什么是mapping,今天恍然大悟,原来是用url做key维护了一个mapping,
    
    2
  • Ben Guo
    2023-07-11 来自广东
    关于启动Tomcat,可以加入 embeded tomcat的依赖,然后用下面的代码 跑起来 public class App { public static void main( String[] args ) throws LifecycleException { System.out.println( "Hello World!" ); Tomcat tomcat = new Tomcat(); String webappDirLocation = "WebContent"; StandardContext context = (StandardContext) tomcat.addWebapp("/", new File(webappDirLocation).getAbsolutePath()); Connector connector = new Connector(); connector.setPort(8080); tomcat.setConnector(connector); tomcat.start(); tomcat.getServer().await(); } }
    
    