打开tomcat的解压之后的目录可以看到如下的目录结构:
![a54dab4baf3116fb052801989acee02c.png](https://i-blog.csdnimg.cn/blog_migrate/a805522b77a9fc32e6361fac226b6696.jpeg)
1.bin:
bin目录主要是用来存放tomcat的命令,主要有两大类,一类是以.sh结尾的(linux命令),另一类是以.bat结尾的(windows命令)。
![ea18cbbd3acbb0a1760654d38c5c34ca.png](https://i-blog.csdnimg.cn/blog_migrate/bb79d3009ade3c4ff0589e7850a50899.jpeg)
很多环境变量的设置都在此处,例如可以设置JDK路径、tomcat路径
startup 用来启动tomcat
shutdown 用来关闭tomcat
修改catalina可-以设置tomcat的内存
注意:可以通过在浏览器中输入localhost:8080/测试浏览器是否开启。
假如弹出官网则连接成功,如果失败检查是否开启以及端口是否正确,端口的设置在conf中有讲解。
2.conf:
conf目录主要是用来存放tomcat的一些配置文件。
![0b7063564b86acfe8db3ac0447ae15e9.png](https://i-blog.csdnimg.cn/blog_migrate/2647ea1c7bb8d1ff2a1c40a8785385a3.jpeg)
server.xml可以设置端口号、设置域名或IP、默认加载的项目、请求编码
在这里主要讲解一下设置端口以及请求编码,对于server.xml的一些其他 配置我将在另外一篇副进行详解。
1、端口设置:
![6e2e82dc83076d37fc2307d8ad3629ad.png](https://i-blog.csdnimg.cn/blog_migrate/a2fce7f2cc6620cc855c62f1f443f0ac.jpeg)
更改图示的数字即可
2、get请求中文编码解决方案:
方案一:对接受的表单数据都进行一个编码格式转换。
即先获得iso-8859-1的字节码在通过String的构造方法以utf-8转换
例子:
String
方案二:
![96fa5bc60baf7968975eb3effd81a802.png](https://i-blog.csdnimg.cn/blog_migrate/8974810f27fb41a033a740ad0a6df7c5.jpeg)
注意;这里的也可以通过对URIEncoding的配置;不同点请参考以下博客,或者其他博客:
URIEncoding与useBodyEncodingForURI 在tomcat中文乱码处理上的区别blog.csdn.netweb.xml可以设置tomcat支持的文件类型
在web.xml中存储了一些默认配置,比如.jsp文件的映射的Servlet以及一些mime类型,对于导出xls文件以及上传图片格式可以提供搜索帮助:
1、.jsp文件的配置:jsp本质上都是servlet,但我们未在项目中的web.xml中设置url-pattern的设置,那又是怎么执行的呢?
其实是因为在tomcat下有对.jsp文件的url映射,实际上所有的jsp都会映射到JspServlet然后对jsp文件进行转译到相应的servlet,最后再执行它的service方法(实际是调用的是jspservice方法,它先调用了父类的service方法(这父类继承了HttpServlet,然后在service中调用了jspService方法))
![6b84b6a0c93f0f3073f1c79b70e1c9dd.png](https://i-blog.csdnimg.cn/blog_migrate/b812ee72c056ad3fe25f35223d2b9c9b.jpeg)
![225ac1df05f287aea8a44f0ef7db3476.png](https://i-blog.csdnimg.cn/blog_migrate/07f17a7d00ba193c78a8358e50e23f2d.jpeg)
2、存储了mime类型,一般在对resp.setContType();可以在web.xm中进行搜索
比如web.xml通过notepad打开点击搜索的查找
![292c0d698ff11870dd78345904a22099.png](https://i-blog.csdnimg.cn/blog_migrate/2065607fa0fb9a251c804e8e7971ade7.jpeg)
题外话:电脑不知抽了什么风,查找界面一截图就隐身。
对于导出xls文件就可以通过在这查找设置响应内容的形式。
context.xml可以用来配置数据源之类的
tomcat-users.xml用来配置管理tomcat的用户与权限
在Catalina目录下可以设置默认加载的项目
3.lib:
lib目录主要用来存放tomcat运行需要加载的jar包。
例如,像连接数据库的jdbc的包我们可以加入到lib目录中来。
![33745cfec368688f0119a24f14fa5f9d.png](https://i-blog.csdnimg.cn/blog_migrate/dcc536f09c650f1c9dbabb803b151f76.jpeg)
4.logs:
logs目录用来存放tomcat在运行过程中产生的日志文件,非常重要的是在控制台输出的日志。(清空不会对tomcat运行带来影响)
在windows环境中,控制台的输出日志在catalina.xxxx-xx-xx.log文件中
在linux环境中,控制台的输出日志在catalina.out文件中
![632cc06656439948bca287dd2d6c1ca8.png](https://i-blog.csdnimg.cn/blog_migrate/b8697733c350164af8583c8ff9685f8a.jpeg)
5.temp:
temp目录用户存放tomcat在运行过程中产生的临时文件。(清空不会对tomcat运行带来影响)
![6a5acc87707ce461a6411b9ce01d67e9.png](https://i-blog.csdnimg.cn/blog_migrate/b1f578a7a10b9a0b808e793841a58f78.jpeg)
6.webapps:
webapps目录用来存放应用程序,当tomcat启动时会去加载webapps目录下的应用程序。可以以文件夹、war包、jar包的形式发布应用。
当然,你也可以把应用程序放置在磁盘的任意位置,在配置文件中映射好就行。
![ef75e86ee9276d990db577bce448d7b5.png](https://i-blog.csdnimg.cn/blog_migrate/165b039a6b3b204476a49d2d8771c21c.jpeg)
注意:这里存储的文件的项目名字为项目名称,但和我们在域名中输入的url是不同的。
在我们进行测试输入的项目名为虚拟项目名;
对于myEclipse的用户可以通过项目右键的properties中project factes中进行设置。(不同的myEclipse放在不同的位置,第一次可以在搜索框中进行搜索,然后记住在哪个菜单下)
![11591edf9a382c724bb8747a27265643.png](https://i-blog.csdnimg.cn/blog_migrate/839e241b4b99fcc52b91ecd1f8d7025f.jpeg)
更改webcontext就行了,这样在输入url的时候只需要输入:
lcoalhost:8080/project/
而不是
localhost:8080/13-project
7.work:
work目录用来存放tomcat在运行时的编译后文件,例如JSP编译后的文件。
清空work目录,然后重启tomcat,可以达到清除缓存的作用。~
![95eccf41ac6440d77c5306cc7967e917.png](https://i-blog.csdnimg.cn/blog_migrate/48b05433cba119e6f27b909ef0d56c55.jpeg)
在catAlina里面继续打开最后会进入项目文件夹,里面存放了jsp文件。
![0fbb3a5dbc6a524566894db00aadbb22.png](https://i-blog.csdnimg.cn/blog_migrate/4967be99254fc88be2094496a604f654.jpeg)
可以发现其实jsp也是java文件,这也印证了jsp本质上就是servlet。
------------------------百战卓越067天------------------------------------------