在 HelloServlet 之后
关于 HttpServlet
Servlet 需要的包:
1 | // 与 Servlet 定义相关的类或接口都位于 javax.servlet 包中 |
当请求到来时,Web容器会调用 Servlet 的 service()
方法.
HttpServlet 的 service() 方法的流程:
1 | protected void servlet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { |
使用@WebServlet
在Servlet3.0中,可以使用标注来告诉容器哪些Servlet会提供服务和额外的信息.
1 | "/hello.view") ( |
1 | ( |
使用Web.xml
Servlet3.0 之前, 必须通过web.xml来定义Servlet的相关信息, Servlet3.0中也可以用他来定义相关的信息.
web.xml 中的设置会覆盖 Servlet 中定义的值(name 值要相同).
1 | <!--...--> |
文件组织与部署
Web程序应用程序文件组织:
1 | ├── other |
- WEB-INF: 目录名称固定, 该目录对外界封闭, 客户端无法使用HTTP的任何方式直接访问该目录下的文件及目录
- web.xml: 放在WEB-INF根目录下, 名称固定, Web应用程序部署描述文件
- lib: 放置JAR文件的目录, 放在WEB-INF根目录下, 名称固定
- classes: 放置编译后的.class文件的目录, 位于WEB_INF根目录下, 名称固定, 编译后的类文件, 必须有与包名称相符的目录结构
在部署Web应用程序时, 会将Web应用程序封装为WAR文件, 如过服务器使用Tomcat, 可以将war文件放置在tomcat安装目录的webapps
目录中, 然后重启Tomcat服务.
然后可以用: http://(服务器ip或域名):(端口号)/(war文件名)/
来访问
进阶部署设置
…