Web阶段–Servlet基础知识点
一、静态页面与动态页面
1.静态页面
概念:在Web模型中,页面中的信息是在html文件中定义好的,数据不会改变,称为“静态页面”,无法根据用户需求实时定制数据
2.动态页面
概念:网页中展示的数据来自于java程序的运行结果,随着业务的发展,网页中的数据会发生改变
工作原理:
输入URL,通过互联网与WEB服务器建立网络连接(Request请求)---->
WEB服务器接受到请求后调用一段Java程序--->
WEB服务器将Java程序的输出结果传输给客户端(Response响应,通常以“网页”)---->
浏览器将程序的输出结果显示在网页上
二、Servlet概念
1.什么是Servlet?
Servlet是一种生成动态网页的技术,是JavaEE规范的一部分,一种运行在tomcat服务器上的,用java编写小程序,可以接收浏览器(客户端—client)发出的http请求,并且服务器为client做出响应( 一般以网页的形式体现 --- 动态网页)
2.运行方式
开发好的java程序,需要发布到tomcat服务器上,由服务器在用户请求达到时调用
三、动态B/S结构的开发
1.开发流程
环境搭建--->程序开发--->部署应用--->配置文件--->程序访问
2.环境搭建
1 在Tomcat服务器的webapps目录下新建myweb应用
2 在myeclipse里新建一个javaproject项目
3 将servlet开发所需的servlet-api.jar引入到建好的webproject中
备注:servlet-api.jar 存放于 tomcat安装路径/lib目录中
3.程序开发----第一个Servlet程序
1. 实现servlet程序的三种方式
implements Servlet是javax.servlet包里的接口,覆盖5个方法(重点是service方法),与协议无关程序
extends GenericServlet是javax.servlet包里的抽象类覆盖其中的抽象方法service(),定义与协议无关的程序
extends HttpServlet是javax.servlet.http包里的类覆盖其中与http协议相关的service(),必须使用http协议通信
2.具体代码实现
案例:
public class FirstServlet extends HttpServlet{
@Override
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=GBK");
PrintWriter out = response.getWriter();
Date time = new Date();
out.println("<h1 style='color:red'>"+time+"</h1>");
out.flush();
}
}
4.部署(deploy)应用(手动部署)
找到存放Tomcat的文件夹
|-- lib 存放tomcat里所有应用都可以使用的jar包
|-- conf tomcat的配置文件
|-- bin 存放tomcat里所有应用都可以使用的程序
|-- work
|-- webapps 存放应用程序
|-- myweb 项目名或者应用程序名
|-- html文件,image图片,css文件
|-- WEB-INF
|-- classes 存放java程序的字节码文件(注意:带着包结构)
|-- lib 如果有,存放当前应用需要使用的私有的jar包
|-- web.xml文件 当前应用所需的配置文件
5.配置文件—web.xml
<servlet>
<servlet-name> servlet程序的简称(必须保证当前文件中唯一)</servlet-name>
<servlet-class> servlet程序的全类名(包名.类名)</servlet-class>
<