1.1 servlet简介
Servlet就是sun公司开发动态web的一门技术
Sun在这些API中提供了一个接口叫做:Servlet,如果你想开发一个Servlet程序,只需要完成两个步骤:
-
编写一个类,实现Servlet接口
-
把开发好的Java类部署到web服务器中
把实现了Servlet接口的Java程序叫做——Servlet
1.2 HelloServlet
servlet接口sun公司有两个默认的实现类
1.构建一个普通的Maven项目,删掉里面的src目录,以后我们的学习就在这个里面建立module;这个空的工程就是Maven的主工程
2.关于Maven父子工程的理解: 父项目中会有:
<modules>
<module>servlet-01</module>
</modules>
子项目会有:
<parent>
<artifactId>javaweb-02-servlet</artifactId>
<groupId>com.xqk</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
父项目中的java子项目可以直接使用
son extends father
3.Maven环境优化
1.修改web.xml为最新的
2.将maven的结构搭建完善
4.编写一个Servlet类
1.编写一个 普通类
2.实现Servlet接口,这里我们直接继承HttpServlet
public class HelloServlet extends HttpServlet { //由于get或者post只是|请求实现的不同方式,可以互相调用,业务逻辑都是一样的
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException
{
// ServletOutputStream outputStream = resp.getOutputStream();
PrintWriter writer = resp.getWriter();//响应流
writer.print("Hello,Servlet"); }
@Override
protected void doPost(HttpServletRequest req,HttpServletResponse resp) throws ServletException ,IOException
{
super.doPost(req,resp);
}
}
5.编写Servlet的映射
为什么需要映射?——我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的Servlet,还需给他一个浏览器能够访问的路径。
web.xml配置
<servlet>
<servlet-name>hello</servlet-name>
<servlet-class>com.xqk.servlet.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>hello</url-pattern>
</servlet-mapping>
6.配置tomcat
注意:配置项目发布的路径
7.测试
点击启动,会出现target文件包
启动之后弹出网页
1.3 Servlet原理
Servlet是由web服务器调用,web服务器
1.4 mapping问题
1.一个Servlet可以指定一个映射路径
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
2.一个Servlet可以指定多个映射路径
3.一个Servlet可以指定通用映射路径
4.默认请求路径
5.指定一些后缀或则前缀等等...
<!-- 可以自定义后缀 实现请求映射
注意点.*前面不能加项目路径-->
<servlet-mapping>
<servlet-name>hello</servlet-name>
<url-pattern>/hello/*</url-pattern>
<!-- /*是通配符 你写啥都行-->
</servlet-mapping>
6.优先级问题
制定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求;
<!-- 404-->
<servlet>
<servlet-name>error</servlet-name>
<servlet-class>com.xqk.servlet.ErrorServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>error</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
1.5 ServletContext
web容器在启动的时候,它会为每个web程序都创建一个对应的ServletContext对象,它代表了当前的web应用“
共享数据
我在这个servlet中保存的数据,可以在另一个servlet中拿到。
2 Tomcat
2.1 JavaWeb的有关概念
什么是Javaweb?
javaweb是指,所有通过Java语言编写的,可以通过浏览器访问的程序的总称。叫做JavaWeb。
JavaWeb是基于请求与相应来开发的。
什么是请求?
请求是指而客户端给服务器发送数据,叫请求Request。
什么是响应?
响应是指服务器给客户端回传数据,叫响应Response。
请求和响应的关系
请求和响应式成对出现的,有请求就有响应。
2.2Web资源的分类
web资源按实现技术和呈现效果的不同,分为静态资源和动态资源两种。
静态资源:html、css、js、txt、mp4视频、jpg图片
动态资源:jsp页面、servlet程序
2.3常用的Web服务器
Tomcat:由apache组织提供的一种web服务器。提供对jsp和Servlet的支持。是一种轻量级的JavaWeb容器(服务器),也是应用最广的服务器(免费)。
2.4Tomcat服务器与Servlet版本的对应关系
Servlet程序从2.5版本开始是现在市面上使用最多的版本(xml配置)
以Servlet2.5版本为例。
2.5Tomcat的使用
1.安装 找到压缩包,解压到需要的目录。
2.目录介绍
bin 专门用来存放Tomcat服务器的可执行程序
conf 专门用来存放Tomcat服务器的配置文件
lib 专门用来存在Tomcat服务器的jar包
logs 专门用来存在Tomcat服务器运行时输出的日记信息
temp 专门用来存在Tomcat运行时产生的临时数据
webapps 专门用来存在部署的web工程
work 是Tomcat工作时的目录,用来存在Tomcat运行时jsp翻译为Servlet的源码,和Session钝化的目录。
3.如何启动Tomcat服务器
Tomcat bin目录下的startup.bat文件,双击,即可启动Tomcat服务器。
也可以用cmd命令行一步一步进入到bin目录下个startup.bat
出现这个界面就启动成功了
4.tomcat的停止
找到Tomcat的bin目录下用shutdown.bat双击,就可以停止Tomcat服务器。
5.修改tomcat端口号
HTTP协议默认的端口号是:80
6.如何部署web工程到tomcat中
第一种部署方法:
只需要把web工程的目录拷贝到tomcat的webapps目录下即可。
一.在webapps目录下创建一个book工程
二.把项目内容拷贝进去
三.如何访问tomcat下的web工程?
第二种部署方法:
找到tomcat下的conf目录\Catalina\localhost\下创建如下配置文件
7.手托html页面到浏览器和在浏览器中输入http://ip:端口号/工程名/访问的区别
8.root的工程的访问,以及默认index.html页面的访问