浏览器输入地址进入servlet原理,最本质的就是tomcat的运行原理。深奥原理的确很复杂,我们只要知道流程就行了。这就简单了。
拿个地址来讲 http://localhost:8080/ServletDemo2/hello
这个地址是3个部分:
部分一:http://localhost:8080
部分二:/ServletDemo2
部分三:/hello
这三个部分概括为 http://localhost:8080+工程名+地址
http://localhost:8080+工程名 这个大家都知道,工程名就是自己在myeclipse中新建的项目的名字。
第三部分特别重要,第三部分是什么东西呢?
部分三:/hello 是在web.xml文件中设置的。好,我们来走一下流程。
就以这个地址来讲 http://localhost:8080/ServletDemo2/hello
当你在浏览器中输入http://localhost:8080/ServletDemo2 就进入了tomcat的webapps中的ServletDemo2当中。
以我ServletDemo2这个工程来说,webapps\ServletDemo2这个文件夹里就只有3个东西:META-INF、WEB-INF、index.jsp。
浏览器中输入http://localhost:8080/ServletDemo2 在tomcat中就会自动加载WEB-INF下的web.xml 文件
我的web.xml有welcome-file设置,所以输入http://localhost:8080+工程名就会显示index.jsp这个页面。配置如下:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
没有这个配置就会跳入tomcat中的404.
接下来我们输入http://localhost:8080/ServletDemo2+/hello就是匹配web.xml中的配置:
<servlet>
<servlet-name>hello_world</servlet-name>
<servlet-class>demo.HelloServlet_b</servlet-class>
<load-on-startup>0</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>hello_world</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
从/hello->hello_world->hello_world->demo.HelloServlet_b,不懂的百度servlet配置,1234原则。
找demo.HelloServlet_b,tomcat服务器是知道默认的WEB-INF\classes文件夹的,所以就会在WEB-INF\classes文件夹下找demo.HelloServlet_b。
也就是说你在浏览器中输入了http://localhost:8080/ServletDemo2,服务器tomcat就会自动知道WEB-INF文件夹和WEB-INF\classes文件夹。并且会自动加载WEB-INF\web.xml文件。
部分三:/hello 就是你自己在web.xml总配置的不管你配置多长。
ServletDemo2下载地址:
http://download.youkuaiyun.com/detail/u013897204/9619701