- 2.3.1 发布静态资源
- 2.3.1.1介绍
- 2.3.1.2 实现步骤
- 2.3.2 发布动态资源
- 2.3.2.1 Servlet介绍
- 2.3.2.2 案例介绍
- 2.3.2.3 实现步骤
- 2.3.2.4 创建案例中的动态资源-Servlet
- 2.3.2.5 执行流程
静态资源案例-门户类网站的部署和访问
需求:
在浏览器中输入地址,访问静态HTML页面。
细节说明:
把HTML和CSS课程中制作的页面加入到JavaWeb工程中,在Tomcat中部署工程,然后启动Tomcat服务器,并使用浏览器访问。
第一步:创建工程并选择使用的Tomcat版本
第二步:拷贝资源到工程的web目录中
将我们写好的网页资源,html、css、图片等粘贴到web目录下
第三步:在web.xml中配置默认主页
我们刚开始的默认主页是index.jsp,但是我们不用这个
这就需要我们自己配置,在web的目录下,有个web.xml文件,我们打开它来配置。
这个里面需要添加标签,在标签中添加主页的路径,比如这里想要设news.html为主页,这样修改默认主页就完成了。
/new/news.html
第四步:部署工程到Tomcat服务器
确认一下项目有没有发布,点击Run,edit configurations
先到deployment这里,找到application context,确认一下这个路径,一般不用改,我这里有多个模块,所以我这里指定了具体的模块,如果是单个项目或者只有一个module,那么他一般只有一个**“/”**,不用去动。
然后到server,这里可以改一下你想使用的浏览器;要注意的是,url这一栏里后面的路径一定跟你上面application context是一致的;我这里的端口80对应下面的HTTP port,可以自己任意修改,80的话地址栏不显示;接着update resource选择可以自动更新资源,建议选这个。点击ok。
第五步:测试浏览器访问
上面配置完,接着就可以启动服务,找到对应的tomcat,点击运行。
最后这里容易出现404的情况,它找不到资源的位置,说明你的路径可能写错了,检查一下修正即可。
在学习发布动态资源之前,需要先了解一下Servlet。
Servlet翻译成中文是服务端脚本,它是SUN公司推出的一套规范,称为Servlet规范。Servlet规范是JavaEE规范中的一部分。我们可以通过查阅JavaEE规范的API来了解Servlet的基本概念。通过点击JavaEE8官方文档,就可以看到关于Servlet的内容介绍。
Java EE API本地chm文件
Servlet是运行在Java服务器端的程序,用于接收和响应来自客户端基于HTTP协议的请求。
如果想实现Servlet的功能,可以通过实现javax.servlet.Servlet接口或者继承它的实现类。
核心方法:service(),任何客户端请求都会经过该方法。
需求:
把JavaSE的学生管理系统的服务器改用Tomcat实现。
细节说明:
把Java项目学生管理系统涉及的HTML和样式以及图片文件拷贝到JavaWeb工程中,在Tomcat中部署工程,然后启动Tomcat服务器,并使用浏览器访问。
第一步:创建工程
第二步:拷贝资源
第三步:配置默认主页
第四步:部署项目
这里资源访问路径多加一个自己的项目路径。
步骤基本跟上面静态资源的做法一致,这里不再重复。
2.3.2.4 创建案例中的动态资源-Servlet按步骤编写Servlet:
第一步:编写一个普通类实现Servlet接口或者继承GenericServlet类或者继承HttpServlet
首先在src目录下创建一个包,然后创建一个MyServlet的一个类,这个类实现Servlet接口,并且实现它的所有方法。
第二步:重写service方法,输出一句话
package com.symc.servlet;
import javax.servlet.*;
import java.io.IOException;
public class MyServlet implements Servlet{
@Override
public void init(ServletConfig servletConfig) throws ServletException {
}
@Override
public ServletConfig getServletConfig() {
return null;
}
@Override
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("我被访问了");
}
@Override
public String getServletInfo() {
return null;
}
@Override
public void destroy() {
}
}
第三步:在web.xml配置Servlet
需要找到在web,WEB-INF目录下的web.xml文件;
这里需要配置Servlet声明,我这里随意起个名字myServlet,类的位置就是完整的包名;
myServlet com.symc.servlet.MyServlet
还需要配置Servlet映射,依旧是将声明里的名字放入这里的名字,下面url加上/myServlet,这样它先找到映射里的名字,然后根据这个名字找到声明里的名字对应的位置就是上面的包名。
myServlet
/myServlet
第四步:启动tomcat服务器测试
打开服务器,到浏览器地址栏添加名称,
浏览器页面空白,也没有什么变化,但是回到控制台会发现被访问的痕迹,并且浏览器每刷新一次,控制台都会有记录。
这就说明,只要有客户端访问服务器,一定会执行service方法。
首先我们地址栏访问的/myServlet先去找到映射配置中url-pattern这个标签中的内容,然后根据这个内容找到name标签中的名字,再通过这个名字找到再声明配置中的name标签中的名字,然后再通过这个名字找到声明配置中的实现类,最后找到这个类之后它会自动执行service方法。



