浙江建设局网站做站群的网站要备案吗
web/
2025/9/26 21:37:39/
文章来源:
浙江建设局网站,做站群的网站要备案吗,server2012 wordpress,wapcms建站系统文章目录 1. Tomcat的安装与使用1.1 Tomcat安装1.2 Tomcat的启动1.3 Tomcat部署前端页面 2. Servlet2.1 Servlet是什么2.2 第一个Servlet程序2.3 常见错误 1. Tomcat的安装与使用
1.1 Tomcat安装
在浏览器中搜索Tomcat,打开官方网页.Tomcat官网 点击下载Tomcat8. 点击下载压… 文章目录 1. Tomcat的安装与使用1.1 Tomcat安装1.2 Tomcat的启动1.3 Tomcat部署前端页面 2. Servlet2.1 Servlet是什么2.2 第一个Servlet程序2.3 常见错误 1. Tomcat的安装与使用
1.1 Tomcat安装
在浏览器中搜索Tomcat,打开官方网页.Tomcat官网 点击下载Tomcat8. 点击下载压缩包. 下载好后解压缩. 解压缩后得到的目录: 下面对上述关键文件做部分解释:
bin:可执行的程序/脚本.启动Tomcat就在这里.conf:配置,用xml格式表示服务器的配置,比如像修改tomcat的绑定的端口号就需要修改这里的内容.lib:tomcat依赖的一些库.(暂时不考虑)logs(重要):日志,tomcat运行的日志都在这里.如果程序出问题了,如何排查?就看这个日志.webapps:每个webapp都是一个网站,一个tomcat上可以部署多个网站,此处就叫做webapps. 这里包含很多目录,每个目录都视为一个独立的网站,后面我们所学习的代码也是部署到这个webapps里的.
1.2 Tomcat的启动
Tomcat的启动: 启动后,我们可以看到: Server startup in xxx ms即为启动成功.
1.3 Tomcat部署前端页面
新建网页标签页,输入127.0.0.1:8080进入Tomcat欢迎页面.(此时Tomcat必须处于运行状态) 8080是Tomcat默认的端口号.就像MySQL的默认端口号是3306一样. 接下来我们尝试在Tomcat中部署前端代码: 以我们前面学习过的博客系统代码为例: 将blog系统拷贝至webapps这个文件夹中(部署): 在导航栏中输入http://127.0.0.1:8080/blog/blog_list.html通过网络来访问. 第一级路径(blog),也起了个名字,叫做application path/context path 这个页面和之前的不同,这个是通过网络来访问的.而之前的页面则是通过文件路径来访问的. 通过网络访问可以跨主机访问,通过路径只可以访问自己主机上的页面.
2. Servlet
2.1 Servlet是什么
Servlet: 是一种实现动态页面的技术.是Tomcat给java提供的原生的进行web开发的api. 网页分为两类: 静态页面:页面内容始终是固定不变的.(百度主页) 动态页面:页面内容随着输入参数不同而改变.(百度结构页)
2.2 第一个Servlet程序
我们先写一个hello world程序:预期写一个Servlet程序 部署到Tomcat上,通过浏览器访问,得到hello world字符串. 一共有七个步骤: 创建项目引入依赖创建目录结构编写代码打包程序部署程序验证 创建项目 此处需要创建一个maven项目. maven是个工程管理工具.它可以: 规范目录结构管理依赖构建打包测试 … 打开idea: 注意:首次使用maven,项目创建好之后,会在下面读条,从中央仓库加载一些maven的依赖.时间较久. 注意此处的目录: 2. 引入依赖 打开maven中央仓库,搜索Servlet. 此处选择3.1.0版本. 拷贝maven代码至pom.xml中. 注意添加 标签!如果有多个依赖,都往里面拷贝即可. 如果长时间标红,刷新: 3. 创建目录结构 虽然maven已经帮我们自动创建了一些目录,但是还不够.此处是需要使用maven开发一个web程序,还需要别的目录. (1) 在main目录下,创建一个webapp目录 (2)在webapp下创建一个WEB-INF目录 (3)在WEB-INF下创建一个web.xml文件 (4)给web.xml中写以下代码进去.
!DOCTYPE web-app PUBLIC
-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN
http://java.sun.com/dtd/web-app_2_3.dtd
web-app
display-nameArchetype Created Web Application/display-name
/web-app我们写的Servlet程序就相当于是车厢.Tomcat相当于是车头.我们把写好的Servlet程序放到webapps 目录下,就相当于把车厢挂到车头上.Tomcat如何识别webapps目录下哪些是需要拉着跑的车厢,哪些不是. 就需要靠我们复制粘贴的代码来识别.(WEN-INF/web.xml). 相当于投名状.
编写代码
(1)HttpServlet 是Servlet api里提供的现成的类.写Servlet代码一般都是继承这个HttpServlet. (2)重写doGet方法 我们写的doGet方法,不需要我们手动调用,而是交给Tomcat来调用.Tomcat收到get请求,就会触发doGet方法.Tomcat会构造好两个参数,req和resp. 其中req就是TCP socket 中读出来的字符串,按照HTTP协议解析得到的对象. 其中resp是个空对象(程序猿在doGet,根据请求req,结合业务逻辑构造出resp) resp是输出型参数. doGet:根据请求计算响应. super.doGet();父类的这个方法只是返回一个错误页面,需要删掉.
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;//注解是java中特殊的类,Java专门定义了一种语法糖来实现注解
//注解的作用,针对一个类/方法,进行额外的解释说明
//赋予了这个类.方法额外的功能/含义
//Tomcat实现的
//此处 WebServlet(/hello) 的作用是:
//把当前的类,和一个HTTP请求的路径关联起来
WebServlet(/hello)
public class HelloServlet extends HttpServlet {Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {//在服务器的控制台里打印System.out.println(hello world);//将helloworld返回到客户端.//getWriter()会创建一个 write 对象//此处的 write 操作其实是往resp的body部分进行写入.//等resp对象整个构造好了,tomcat会统一转成 HTTP 相应的格式再写 socketresp.getWriter().write(hello world);}
}doGet 是 Tomcat 收到Get 请求的时候就会调用,具体要不要低啊用doGet,还得看当前GET请求的路径是什么.不同的路径可以触发不同的代码.(关联到不同的类上) 一个Servlet程序中,可以有很多Servlet类,每个Servlet类都可以关联到不同的路径(对应到不同的资源).因此此处的多个Servlet就实现了不同的功能.
打包程序 把程序编译好,得到一些.class文件,再将这些.class打成压缩包. jar包就是.class构成的压缩包,但是此处要打war包.jar包只是一个普通的java程序.而war包是tomcat专属的来描述webapp的程序.一个war包就是一个webapp. 双击package打包: 默认情况下maven打的是jar包,需要微调代码: 重新打包: 部署程序 把打包好的war拷贝到tomcat的webapps中即可. 启动Tomcat. 验证 在地址栏中输入:http://127.0.0.1:8080/hello_servlet/hello
小结:在浏览器中输入url之后,浏览器就构造了一个对应的HTTP GET请求,发送给tomcat. tomcat就根据第一级路径,确定了具体的webapp,根据第二级路径,确定了调用哪个类. 再然后通过GET/POSE方法确定调用HelloServlet的哪个方法(doGET,doPost)
在上述过程中,5打包,6部署程序两个过程可以使用IDEA的Tomcat插件把Tomcat 集成到IDEA中.就省去了我们手动打包的过程.手动部署的过程,只需要按一下运行,就可以自动打包部署.
基于tomcat插件自动打包部署,适用于开发阶段,频繁修改代码验证. 手动打包部署,适用于上线阶段,发布程序.
使用tomcat插件: 插件:功能的扩展.IDEA提供了一些API,可以让程序员开发插件,对IDEA现有功能进行扩展. 首次使用smart tomcat需要配置一下. 设置tomcat所在路径 但是我们可以看到,启动失败了. 8080端口被占用.可以打开cmd输入以下:可以看到
此时我们只需要关闭Tomcat即可. 重新启动成功.
smart tomcat工作原理: 不是自动拷贝war包(webapps中不变),是通过另一种方式来启动tomcat的.tomcat支持启动的时候显示指定一个特定的webapp目录,相当于是让tomcat 加载单个的webapp运行. IDEA直接调用tomcat,让tomcat加载当前项目中的目录.
http://127.0.0.1:8080/后面跟的是context path 如果是直接拷贝war包的方式部署,context path就是war包名(目录名) 如果是smart tomcat的方式部署,此时这里是可以配置的.默认是项目名.
这两种部署,其实是两种tomcat的运行方式,对于context path的理解不同,在使用时需要特别注意.
2.3 常见错误
常见错误1: 404 404 表示用户访问的资源不存在, 大概率是 URL 的路径写的不正确. 或者是你的webapp没有正确被部署: web.xml 写错了, 文件名错了, 文件路径错了, 文件位置错了…常见错误2: 405 405 表示对应的 HTTP 请求方法没有实现, 比如我们在浏览器发了个GET请求, 但是代码里没写doGet, 此时就会出现405. 还有可能就是重写的方法中没有去掉默认调用的父类方法, 如super.doGet 常见错误3500 往往是Servlet代码中抛出异常导致的, 这个问题最好解决, 因为500的时候页面日志中会明确告诉你异常调用栈, 告诉你是哪一行代码出的异常 比如我们给代码来一个空指针异常. 4. 常见错误4: 出现空白页面 方法中逻辑没有写类似resp.getWriter().write()这样的代码
常见错误5: 页面无法访问 最常见的原因就是Tomcat没有启动或者崩溃, 我们把Tomcat关了, 就会出现页面无法访问的情况, Tomcat无法启动, 很可能是端口冲突了.
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81383.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!