| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> javaee之tomcat与servlet -> 正文阅读 |
|
[Java知识库]javaee之tomcat与servlet |
话不多说,直接上图: 上面其实一般都不用,但是必须了解,下面说一下,Tomcat里面项目的目录结构 这个就是会放到Tomcat里面的东西。 这里会产生一个疑问,就是,有些小伙伴说,我用IDEA创建了JAVAEE项目,但是没有在Tomcat下面webapps看到我的项目目录啊。 那么这里就来说一说: 然后我们随便打开一个项目,进入到相应的一个项目里面: C:\Users\Administrator\.IntelliJIdea2019.2\system\tomcat\Tomcat_8_5_31_tomcat1\conf\Catalina\localhost 里面有一个xml 文档,看到这,是不是就想到了,之前说Tomcat项目配置的时候,我们可以在/conf/catalina/localhost配置一个xml文档,然后来解析我们的程序。 我们点开这个tomcat1_war.xml 他其实就是给我们配了一个虚拟目录,真实的项目地址在D:\java\tomcat1.....这个位置 ?而用户访问的就是虚拟目录下面的内容: OK,大致就是这样,那么现在出现了一个问题,IDEA每次为我创建一个javaee项目的时候,默认会在C盘创建项目配置路径,我想修改一下放到E盘? 直接去改动IDEA安装路径下面的一个配置文件 把下面内容进行改动 ? 改动成我们自己设置的项目配置目录 ?最后记得把之前的在c盘的.IntelliJIdea2019.2的项目目录拷贝过去,然后重启IEDA,加载原来的项目过来即可 ?下面来说一下Servlet ?话不多说,直接上代码: ServletDemo1
当我们实现了Servlet,我们必须配置web.xml核心配置文件: ?上面就是一个java程序的标准配置文件。 首先去找 当找到了上面,然后再去找 ? 这个全类名 然后Tomcat就会将字节码加载到内存,然后创建其对象,调用里面的service方法 上面每次写一个java程序就去配置一个web.xml其实非常麻烦,后面我们直接用注解处理 这个是servlet3.0之后的版本 先来说一下Servlet的生命周期: 上面有五个方法: 下面再来说一下Servlet这个对象。其实是存在多个,每一个Java文件过来,都会产生一个对象,但是访同一资源的java文件,都会调用同一个Servlet对象?,也就是说任何一个Servlet都是单例这样来设计的。 这个位置打印了一个this对象的地址? 然后我们去查看一下: 每个对象内存地址都是一样的,也就是指向同一片内存空间。? ?下面说,用注解来配置文件映射名字 ?看一下@WebServlet这个注解类 里面有一个value属性,我们就可以通过value来赋值映射文件名,因为是value,所以可以省略 ?Servlet是一个接口,那么系统就会帮我们做一些操作,方便我们简写程序 ?如果一个普通类去实现Servlet接口,就必须把里面所有方法全部实现,所以服务器帮我们做了一件事儿,就是我把一些无关紧要的方法全部做了空实现,你只需要去继承我的类,然后复写Service方法就可以了。 比如这个类: 但是这样做还不够好,我们在开发中用的也不多,对于我们客户端表单的请求数据,我们会拿到service()方法里面进行处理,我们一般采用post或者get方法来获取数据,因此我们在service中一个大致操作就是判断表单提交方式,然后根据不同的方式来处理数据。因此在Servlet中,它又给我们提供了一个类继承GenericServlet,这个类就不用在判断数据提交的方式,而是给了我们两个方法doGet()与doPost(),然后service()方法又调用了这两个方法,所以,我们只需要重写这两个方法的一个就行。 大致看一下源代码: ? 上面基本就是这样。 直接上个源代码:
? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/2 16:36:09- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |