1. Servlet (很久远的东西,但是现在学习原理)
html + css + js 前端页面(静态的)
form action = ".html"
Servlet 允许将action属性设置为映射,通过映射找到相关的Servlet class 进行数据的处理。
2.服务器容器,服务器中间件
apache tomcat 7
weblogic
3.搭建Servlet开发环境
startup.bat : 启动tomcat服务
sgutdown.bat : 关闭tomcat服务
配置tomcat环境变量让cmd命令行可以直接运行这些批处理文件。
CATALINA_HOME: D:\apache-tomcat-7.0.67\apache-tomcat-7.0.67
PATH: %CATALINA_HOME%/bin;%CATALINA_HOME%/lib;
4.javaEE的项目要符合JavaEE的标准。
1、 JavaEE App 要放在tomcat下的webapps 这个目录下面。
2、编译后的。class文件,html文档,图片,视频......
3、在webapps下面部署的项目必须要有WEB-INF这样一个目录
4、javaee app 需要一个独有的web.xml对其进行设置。
5.使用tomcat容器部署一个html文档的步骤:
1、新建webapps(文件夹_test)
2、在test目录下 新建WEB_INF文件夹
3、在WEB_INF下面新建web.xml配置文件
4、将web.xml配置成webapps的配置文件(拷贝tomcat实例程序下面的文件头)
5、将html放入到webapps目录下。
6、解释:
index 页面的路径:
tomcat/webapps/test/index.html
使用浏览器访问时,要通过http://localhost:8080/test/index.html来访问html文档。
http://localhost:8080 相当于tomcat/webapps这个目录。
6.创建Servlet类
1、继承HttpServlet抽象类。
2、重写HttpServlet的doGet() 或者 doPost()
3、复制servlet类的class文件到tomcat/webapps/项目名/classes/
4、配置servlet.class(web.xml)
<?xml version="1.0" encoding="ISO-8859-1"?> <web-app 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_3_0.xsd" version="3.0" metadata-complete="true"> <display-name>Welcome to Tomcat</display-name> <description> Welcome to Tomcat </description> <servlet> <servlet-name>hello</servlet-name> <servlet-class>TestServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
5、 使用shutdown、startup重启tomcat服务器。
6、 通过http://ip:port/project_name/url-pattern 访问servlet
7. HttpServletRequest extends ServletRequest request : 请求
HttpServletResponse extends ServletResponse response : 响应
8. servlet的生命周期:
(1.在用户请求Servlet程序时,调用Servlet类的构造方法创建一个对象。
2.对象创建之后调用init() 对该对象进行初始化。
3.调用service方法进行对请求的处理以及对客户端的响应。
4.当web服务器关闭时,调用Servlet的destory()方法。销毁该对象。)
注:
Servlet对象被创建时调用构造方法和init方法,这两个方法执行一次,Servlet是单利的程序。
Servlet可以设计多例,只不过不常用。
服务器启动时(web.xml中配置load-on-startup=1,默认为0)或者第一次请求该servlet时,就会初始化一个Servlet对象,也就是会执行初始化方法init(ServletConfig conf)
该servlet对象去处理所有客户端请求,在service(ServletRequest req,ServletResponse res)方法中执行
最后服务器关闭时,才会销毁这个servlet对象,执行destroy()方法。
9.servlet 运行过程
1、客户端的请求 http:......
2、请求到服务器端找到的servlet容器(tomcat)
3、在tomact目录下的webapps文件夹下面找到符合JavaEE规定的目录(项目)。
4、在web项目当中优先找到配置文件,通过url-pattern属性配置的地址,匹配servlet-name 与该映射名称相同的<servlet>标签
5、<servlet>标签配置的是servlet程序的class文件
6、使用servlet中的doGet或doPost(service方法配置)方法执行请求的处理。