tomcat上servlet程序的配置与处理servlet请求过程
手动配置:
tomcat服务器下web项目的基本目录结构
|-tomcat根目录
|-webapps
|-WebRoot : web应用的根目录
|-静态资源(html+css+js+image+vedio)
|-WEB-INF : 固定写法。
|-classes: (可选)固定写法。存放class字节码文件
|-lib: (可选)固定写法。存放jar包文件。
|-web.xml
什么事servlet?用java语言来编写动态资源的开发技术,一个继承至HttpServlet类的普通类。
手写一个MyServlet类,并继承至HttpServlet(记得导入servlet-api.jar包,在 tomcat根目录/lib/servlet-api.jar),重写其doGet方法(该方法当浏览器发起get请求访问该文件时调用)
1 public class MyServlet extends HttpServlet { 2 @Override 3 protected void doGet(HttpServletRequest req, HttpServletResponse resp) 4 throws ServletException, IOException { 5 resp.getWriter().write("Hollo servlet"); 6 } 7 }
手动在webapps新建一个文件夹作为一个web项目文件夹,例如MyServlet
目录结构如下
|-tomcat根目录
|-webapps
|-MyServlet
|-WEB-INF 。
|-classes
|-lib
|-web.xml
将编译好的class文件放置于上面目录结构中classes文件中(如果文件在某个包下,应将整个包拷贝到classes文件夹中)
接下来就是配置web.xml
<!--带下划线的为固定格式写法,中间部分为servlet通过url访问的配置信息--> <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <!--servlet名称,可以自定义--> <servlet-name>MyServlet</servlet-name> <!-- servlet类名: 包名+简单类名--> <servlet-class>jxf.sevrlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <!--servlet名称,应与上面的名称保持一致,因为是通过下面的servlet访问名称来定位到上面的servlet名称,再通过上面的名称定位到servlet类的位置--> <servlet-name>MyServlet</servlet-name> <!-- servlet的访问名称: /名称 --> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
当上面都准备好了以后,在浏览器地址栏中输入http://localhost:8081/MyServlet/hello(我的端口是8081),就可以访问到写好的servlet了。
请求过程分析:如下图所示:
用MyEclipse部署web项目实现上面的过程:
1、部署项目前的准备工作,配置好tomcat
2、tomcat配置成功后如下图
3、新建一个web项目,取名为MyServlet
4、项目目录结构,可以看到与我们上面手动创建的目录结构是一致的
5、在src中新建一个servlet
打开web.xml文件,可以看见MyEclipse自动生成的内容为:(不带下划线部分与上面手动编写的内容是一致的)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app version="2.5" 3 xmlns="http://java.sun.com/xml/ns/javaee" 4 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 5 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 6 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> 7 <display-name></display-name> 8 <servlet> 9 <description>This is the description of my J2EE component</description> 10 <display-name>This is the display name of my J2EE component</display-name> 11 <servlet-name>MyServlet</servlet-name> 12 <servlet-class>jxf.servlet.MyServlet</servlet-class> 13 </servlet> 14 15 <servlet-mapping> 16 <servlet-name>MyServlet</servlet-name> 17 <url-pattern>/hello</url-pattern> 18 </servlet-mapping> 19 <welcome-file-list> 20 <welcome-file>index.jsp</welcome-file> 21 </welcome-file-list> 22 </web-app>
6、最后点击部署按钮,将项目部署到tomcat中。如下图
7、重启tomcat,浏览器地址栏输入http://localhost:8081/MyServlet/hello,完成。