TomCat服务器的使用

1下载Tomcat:

网址:http://jakarta.apache.org

2.启动和关闭Tomcat

1)启动
a)找到%tomcat%/bin/startup.bat,双击,弹出一个窗口停止不动。
b)确认窗口上显示没有任何错误,然后打开浏览器输入:
http://localhost:8080

看到一只猫,证明tomcat服务器启动成功!!!

2)关闭
找到%tomcat%/bin/shutdown.bat,双击。

3.Tomcat的作用

tomcat服务器作用:把本地资源公开给外部访问
webapps: 把需要公开访问的文件放到该目录

URI是统一资源标识符
URL: 统一资源定位符。用于定位基于http协议的资源。(URL是URI的子集)

4.tomcat服务器常见问题

1)闪退
原因: 在tomcat服务器启动时(运行startup命令),在本地环境变量中查找一个叫JAVA_HOME的环境变量。(tomcat用java开发,需要用jvm运行)
解决办法: 在本地环境变量中添加一个JAVA_HOME
JAVA_HOME= C:\Program Files\Java\jdk1.6.0_30 

2)端口占用问题
原因: tomcat服务器启动所需端口被其他软件所占用
解决办法:
1)把占用端口的软件停止掉(进程杀死)
2)改变tomcat服务器启动端口
找到%tomcat%/conf/server.xml

<Connector port="8081" protocol="HTTP/1.1" 
connectionTimeout="20000" 
redirectPort="8443" />

3)CATALINA_HOME环境变量
原因: tomcat在启动后会通过CATALINA_HOME环境变量加装tomcat的根目录下的文件(例如conf、webapps)
解决办法:建议不要设置CATALINA_HOME环境变量

注意:安装版的tomcat会自动设置CATALINA_HOME环境变量设
webapps: 把需要公开访问的文件放到该目录 

5 Tomcat服务器目录结构

|-bin: 目录。存放tomcat操作命令。batwindow版本,shlinux版本。

startup.bat : 后台在调用catalina.bat start

shutdown.bat  : 后台在调用catalina.bat stop

|-conf: 目录。存在tomcat服务器软件的配置文件。server.xml文件是核心配置文件。

|-lib:目录。支撑tomcat软件运行的jar包。

|-logs:目录。存在tomcat服务器运行过程中日志信息。

|-temp: 目录。tomct的临时目录,存在临时文件。

|-webapps目录。存在web应用的目录

|-work: 目录。tomcat运行目录。存放jsp页面运行过程中产生的临时文件。

6.使用Eclipse开发动态网页:

1)创建一个web proejct
2)在webContent下编写静态资源文件(html+css+javascript)--利用表单提交


3)在src目录下编写servlet动态资源
使用servlet代码生成器:
a)右键src- > new -> 点击”servlet“
b)servlet的包,类名,指定覆盖的方法(doGet)
c)next-> servlet内部名称(不用改)-> url (访问servlet名称,可以改) -> finished


点击finished之后,生成servlet的代码和web.xml的配置信息(即部署应用):


7.关联tomcat服务器

a)

第一步:window-> preferences- > Ecplise->servers-> runtimeenvironments->add


第二步:


第三步:


第四步:


b)选择tomcat的根目录,然后enable。
5)部署项目
6)启动tomcat,访问测试

8.web应用部署的三种方式

  8.1 直接把web应用拷贝到webapps目录下

web.xml文件中配置

<welcome-file-list>

<welcome-file>index.html</welcome-file>

<welcome-file>test.html</welcome-file>

<welcome-file>abc.html</welcome-file>

</welcome-file-list>

8.2 虚拟网站配置

在%tomcat%/conf/server.xml文件中修改:

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">         

  <!--配置虚拟网站

docBase: web应用所在的绝对路径位置。

path: 访问web应用使用的名称。名称可以自定义

-->

<Context docBase="D:\projects" path="/cdqf"/>

注意:

如果path为空字符串,那么也不需要名称访问该web应用,而且优先于ROOT应用。

问题:修改了server.xml核心配置文件,风险比较高。

解决办法: 添加配置文件方法配置虚拟网站。

8.3 添加配置文件方法配置虚拟网站(推荐使用)

%tomcat%/conf/Catalina/localhost目录下,添加abc.xml文件

<?xml version="1.0" encoding="utf-8"?>
<!-- 配置虚拟网站
访问web应用名称就是xml的文件名abc
-->
<Context docBase="C:\projects\myweb"/>

9 Tomcat的站点配置

1)修改%tomcat%/conf/server.xml

<!--- 配置一个新的站点: www.baidu.com

name: 站点的名称

appBase:站点的根目录

  -->

  <Host name="www.baidu.com"  appBase="C:\baidu"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

      </Host>

name: 表示站点的名称。访问站点就使用站点名称

       appBase: 表示站点的根目录。用于存放所有web应用。一个站点下可以包括多个web应用

2)修改本地域名和ip的映射文件hosts文件,加上

127.0.0.1       www.baidu.com

3)启动tomcat,访问测试

Http协议的使用持续更新中.......

Http协议的详情:

浏览器->服务器(请求)

GET /web/first HTTP/1.1

Host: localhost:8080

User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-cn,en-us;q=0.8,zh;q=0.5,en;q=0.3

Accept-Encoding: gzip, deflate

Connection: keep-alive

name=eric&password=123456       --请求实体内容(可选)

服务器->浏览器(响应)

HTTP/1.1 200 OK

Server: Apache-Coyote/1.1

Content-Length: 51

Date: Sun, 28 Dec 2014 01:51:16 GMT

 

this is first servlet!!Sun Dec 28 09:51:16 CST 2014

HttpServletRequest对象


请求行:
request.getMethod(); 请求方式
request.getRequestURI() 请求资源
request.getRequestURL()
request.getProtocol() 协议版本
请求头:
request.getHeader("name"): 根据请求头获取请求值
request.getHeaderNames(): 获取所有请求头名称
实体内容:
request.getInputStream();

获取请求参数:

Get方式的参数跟在URI的后面

Post方式的参数放在实体内容中

获取参数方式:
GET:request.getQueryString();
POST:request.getInputStream();

通用获取参数方式:(不分Post和Get)
request.getParameter(name) : 根据参数名获取参数值(获取一个参数值)
request.getParameterValues(name): 根据参数名获取参数值(获取多个参数值)
request.getParameterNames() 获取所有参数名称
request.getParameterMap(): 获取所有参数

请求参数乱码问题

request.setCharacetEncoding(““text/html”,charset=utf-8)//服务器乱码

response.setCharacetEncoding(““text/html”,charset=utf-8)//浏览器乱码

http响应

案例一:防盗链 http请求。。。

案例二:定时刷新 http响应...

注:浏览器访问网页的两种方式:

静态文件: http://localhost:8080/bbs/index.html
动态文件: http://locahost:8080/bbs/hello




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值