需求:使用idea开发javaweb工程fishWeb,并将网页部署到fishWeb工程
点击File-New-Project
在弹出的框中点击 Java,点击next
写入你的工程名字,选择存储位置
点击creat
右击项目名称,选择Add FrameworkSupport
在弹窗中选择web application,点击ok
可以看到在项目中多出来一个web文件目录
点击右上角的add configurations
在弹窗的左上角点击加号+,在弹出的子窗口中下拉选择Tomcat Server-Local
点击完毕可以看到如下页面:
其中的Deployment是配置我们网站的发布方式,主要有两种:一种是源码的形式,一种是war包。一般选择war包的形式,如下:点击加号,选择artifact
下方的Application context就是你发布的web应用的名称
之后访问的url就是:
http://localhost:8080/web应用名称/资源名
点击Server页面的application server的configure按钮,在弹窗的tomcat home选择安装的tomcat目录
在接下来的选项中,选择默认浏览器
建议在下面的两个选项中都选择update classes and resource
下面是tomcat的默认端口,直接默认即可
建议修改tomcat的Name,这样做是为了区分不同项目(web应用)之间的tomcat
最后点击apply,再点击ok
点击tomcat右边的绿色箭头,如果在控制窗口没有报错,就代表运行成功了。


浏览器显示页面
在浏览器地址栏输入配置的项目资源地址,即可访问
热加载选项说明
1.1 on update action:选择 update classes and resource时,表示当我们有更新操作时,tomcat会自动更新类和资源
当jsp/html文件修改时,可以生效,但是如果你修改的是java文件,需要redeploy才会生效)
1.2 on frame deactivation:表示IDEA失去焦点(比如最小化),也会导致jsp/html发生更新,但是java类还是需要deploy
端口修改
这里修改的端口,只会影响到当前的项目,而不是去修改server.xml
out目录是什么
当tomcat启动时,会生成out目录,该目录就是原项目资源的映射,我们浏览器访问的资源是out目录
当我们从外部拷贝资源到项目(图片,文件,js等),如果出现404不能访问错误时,解决的方式是:rebuild project-->重启tomcat
本质是将原项目的资源同步到out目录下
手动在tomcat的webapps目录下创建一个可供外界访问的web应用person项目
练习1
首先在tomcat的webapps目录下创建一个person文件夹,在person文件夹中存放相关资源cat.html和图片
打开tomcat的bin目录,点击startup.bat,启动tomcat服务,在浏览器中输入http://localhost:8080/person/cat.html即可访问
修改tomcat/conf/server.xml,将tomcat服务器的端口更改为9998,测试使用
练习2
打开server.xml文件,在第六十九行修改端口号为9998并保存:
重新启动tomcat服务,然后在浏览器地址栏中输入localhost:9998,显示可以访问,测试成功。
使用idea完成web项目
练习3
首先创建一个java工程,在创建好的工程名右键选择add framework support,选择web,点击OK,工程就可以支持web应用了
然后配置tomcat,接着将上面的person项目文件夹复制到idea新创建工程的web目录下

点击启动按钮,显示可以正常访问
画图说明浏览器是如何访问到tomcat服务器下的某个javaweb应用下的资源的,比如url=http://www.abc.com/news/index.html
练习4

目录1.漏洞简介2、AJP13协议介绍Tomcat主要有两大功能:3.Tomcat远程文件包含漏洞分析4.漏洞复现 5、漏洞分析6.RCE实现的原理1.漏洞简介2020年2月20日,公开CNVD的漏洞公告中发现ApacheTomcat文件包含漏洞(CVE-2020-1938)。ApacheTomcat是Apache开源组织开发的用于处理HTTP服务的项目。ApacheTomcat服务器中被发现存在文件包含漏洞,攻击者可利用该漏洞读取或包含Tomcat上所有webapp目录下的任意文件。该漏洞是一个单独的文件包含漏洞,依赖于Tomcat的AJP(定向包协议)。AJP自身存在一定缺陷,导致存在可控
//1.验证返回状态码是否是200pm.test("Statuscodeis200",function(){pm.response.to.have.status(200);});//2.验证返回body内是否含有某个值pm.test("Bodymatchesstring",function(){pm.expect(pm.response.text()).to.include("string_you_want_to_search");});//3.验证某个返回值是否是100pm.test("Yourtestname",function(){varjsonData=pm.response.json
1.在Python3中,下列关于数学运算结果正确的是:(B)a=10b=3print(a//b)print(a%b)print(a/b)A.3,3,3.3333...B.3,1,3.3333...C.3.3333...,3.3333...,3D.3.3333...,1,3.3333...解析: 在Python中,//表示地板除(向下取整),%表示取余,/表示除(Python2向下取整返回3)2.如下程序Python2会打印多少个数:(D)k=1000whilek>1: print(k)k=k/2A.1000 B.10C.11D.9解析: 按照题意每次循环K/2,直到K值小于等
我刚刚安装了带有RVM的Ruby2.2.0,并尝试使用它得到了这个:$rvmuse2.2.0--defaultUsing/Users/brandon/.rvm/gems/ruby-2.2.0dyld:Librarynotloaded:/usr/local/lib/libgmp.10.dylibReferencedfrom:/Users/brandon/.rvm/rubies/ruby-2.2.0/bin/rubyReason:Incompatiblelibraryversion:rubyrequiresversion13.0.0orlater,butlibgmp.10.dylibpro
我正在运行Ubuntu11.10并像这样安装Ruby1.9:$sudoapt-getinstallruby1.9rubygems一切都运行良好,但ri似乎有空文档。ri告诉我文档是空的,我必须安装它们。我执行此操作是因为我读到它会有所帮助:$rdoc--all--ri现在,当我尝试打开任何文档时:$riArrayNothingknownaboutArray我搜索的其他所有内容都是一样的。 最佳答案 这个呢?apt-getinstallri1.8编辑或者试试这个:(非rvm)geminstallrdocrdoc-datardoc-da
我已经通过提供MagickWand.h的路径尝试了一切,我安装了命令工具。谁能帮帮我?$geminstallrmagick-v2.13.1Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingrmagick:ERROR:Failedtobuildgemnativeextension./Users/ghazanfarali/.rvm/rubies/ruby-1.8.7-p357/bin/rubyextconf.rbcheckingforRubyversion>=1.8.5...yescheckingfor/
我正在使用macos,我想使用ruby驱动程序连接到sqlserver。我想使用tiny_tds,但它给出了缺少free_tds的错误,但它已经安装了。怎么能过这个?~brewinstallfreetdsWarning:freetds-0.91.112alreadyinstalled~sudogeminstalltiny_tdsBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtiny_tds:ERROR:Failedtobuildgemnativeextension.完整日志如下:/System
我有一个任务列表(名称、starts_at),我试图在每日View中显示它们(就像iCal)。deftodays_tasks(day)Task.find(:all,:conditions=>["starts_atbetween?and?",day.beginning,day.ending]end我不知道如何将Time.now(例如“2009-04-1210:00:00”)动态转换为一天的开始(和结束),以便进行比较。 最佳答案 deftodays_tasks(now=Time.now)Task.find(:all,:conditio
我正在使用PostgreSQL9.1.3(x86_64-pc-linux-gnu上的PostgreSQL9.1.3,由gcc-4.6.real(Ubuntu/Linaro4.6.1-9ubuntu3)4.6.1,64位编译)和在ubuntu11.10上运行3.2.2或3.2.1。现在,我可以使用以下命令连接PostgreSQLsupostgres输入密码我可以看到postgres=#我将以下详细信息放在我的config/database.yml中并执行“railsdb”,它工作正常。开发:adapter:postgresqlencoding:utf8reconnect:falsedat
如何解决这个错误:$rvminstall1.9.3Searchingforbinaryrubies,thismighttakesometime.Nobinaryrubiesavailablefor:osx/10.9/x86_64/ruby-1.9.3-p547.Continuingwithcompilation.Pleaseread'rvmhelpmount'togetmoreinformationonbinaryrubies.Checkingrequirementsforosx.Certificatesin'/usr/local/etc/openssl/cert.pem'arealr