发表于: 2018-01-08 22:16:11

3 614


今天做的事情:

大部分时间在阅读日志和排除BUG......用idea自动生成的Maven项目(webapp模板),一大堆错误......本来以为加上依赖包就没事了,结果发现依旧到处字体飘红:

然后我找了下资源,换了下表头,又根据日志改了web.xml文件,发现依旧跑不了...经过长时间的排错(这里感谢师兄们之前教过我怎么正确使用搜索引擎),终于发现是依赖包版本问题,某些依赖包的版本必须一致。

关于这个问题,今天学到了一个小知识,关于字符拼接${}的用法,在xml里面很好用:

先这样子设置,然后在必要的地方拼接,写上版本号:

这样子就保证了版本一致的问题了,而且改起来也方便。然后,我学习了一下SpringMVC的知识,大概弄懂了它的一个机制。这张图解释的非常清楚:

然后我根据这张图,首先搭起来了结构:

先不管那个不和谐的“HelloServlet”,因为我还没来的及把SSM全部整合起来,首先做了一个简单的测试,然后先把有关的配置加载上了。首先,来看下web.xml中的核心内容:

这里的监听器我详细了解了一下:http://www.cnblogs.com/hellojava/archive/2012/12/26/2833840.html

然后是load-on-starup标签属性。

这里我的springMVC.xml还没来得及写,先不管,运行一下先:

D:\tomcat7-8080-idea\bin\catalina.bat run

[2018-01-08 11:27:25,344] Artifact task2:war exploded: Waiting for server connection to start artifact deployment...

Using CATALINA_BASE:   "D:\tomcat7-8080-idea"

Using CATALINA_HOME:   "D:\tomcat7-8080-idea"

Using CATALINA_TMPDIR: "D:\tomcat7-8080-idea\temp"

Using JRE_HOME:        "D:\java\jdk"

Using CLASSPATH:       "D:\tomcat7-8080-idea\bin\bootstrap.jar;D:\tomcat7-8080-idea\bin\tomcat-juli.jar"

一月 08, 2018 11:27:26 下午 org.apache.catalina.startup.VersionLoggerListener log

信息: Server version:        Apache Tomcat/7.0.64

一月 08, 2018 11:27:26 下午 org.apache.catalina.startup.VersionLoggerListener log

……

……

Connected to server

[2018-01-08 11:27:26,916] Artifact task2:war exploded: Artifact is being deployed, please wait...

……

……

[INFO ] 2018-01-08 23:27:28,066 method:org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:317)

Loading XML bean definitions from class path resource [applicationContext.xml]

[INFO ] 2018-01-08 23:27:28,393 method:org.springframework.core.io.support.PropertiesLoaderSupport.loadProperties(PropertiesLoaderSupport.java:172)

Loading properties file from class path resource [db.properties]

[WARN ] 2018-01-08 23:27:28,491 method:com.alibaba.druid.pool.vendor.MySqlValidConnectionChecker.<init>(MySqlValidConnectionChecker.java:55)

Cannot resolve com.mysq.jdbc.Connection.ping method.  Will use 'SELECT 1' instead.

java.lang.NullPointerException

……

……

可以看见最上面的是一些配置,配置TOMCAT的时候在idea中设置的,主要是一些路径。

然后是Maven项目中Tomcat自带的监听日志,最后终于提示成功连接服务器,然后进行SM(任务一的那一块)的加载,因为我对应的controller层根本没有写,就报空指针异常了。接着浏览器自动跳出一个界面:斜杠后面输入任意内容后,变为:

和Helloservlet中的

            response.getWriter().println("<h1>Hello Servlet!</h1>");

            response.getWriter().println(new Date());

对应。这个测试还算是成功吧,也说明了一个问题,web工程首先从web.xml作为入口进入(我是这样子理解的,百度了下好像的确也是这样子),然后通过一个个标签去加载,详细可以参考:

http://www.th7.cn/Program/java/201710/1266716.shtml

http://blog.csdn.net/reggergdsg/article/details/52698022


明天要做的事情:继续学习SpringMVC


今天的收获:对SpringMVC有了总体上的理解


返回列表 返回列表
评论

    分享到