首页 > 代码库 > J2EE学习笔记02 Server.xml知识点及Servlet初步

J2EE学习笔记02 Server.xml知识点及Servlet初步

内容概要:

1.继续讲解server.xml中的一些设置知识点

2设置外部WEBAPP及使用根目录开发

3.重头戏Servlet及相关知识

关键词:

TomCat,web.xml,connectionTimeout="20000" ,appBase = "webapps",线程池配置,servlet版的HelloWorld

详细内容:

一.继续讲解server.xml中的一些设置知识点

接下来,我们还是看我们的TomCat.

我们上节课呢,我们开发了myweb,我们是如何开发这个myweb的呢,我们一起来回忆一下

首先是myweb,myweb下呢是WEB-INF,那么WEB-INF下呢便是web.xml

打开web.xml,我们来看下上节课,没有讲到的一些东西.打开tomcat\conf\server.xml

A:wps_clip_image-30920

这个shutdown端口就是关闭服务器的一个端口,我们再关闭这个服务器的时候呢,就是向这个端口呢发送了一个关闭服务器的消息将其关闭.

B:再往下走呢

wps_clip_image-3090

其中这个Connector 中的port是连接端口,上节课凯哥讲过,而且我们也做过笔记.

connectionTimeout="20000" //这句话是超时时间20s,如果我们的网站对其有要求而且我们的服务器响应比较快呢,可以减小.调节的目的呢,就是客户端发送过来的时候响应时间应该是多少.

C:往下呢,还有一些配置要说一下

wps_clip_image-4819

wps_clip_image-14823

appBase = "webapps",appBase是个什么东西呢,是你的应用程序地址.就是节课,我们都是把myweb放在webapps目录中,其实webapps这个目录是可以改的,在哪改呢?就是在这个appBase中去改.

那么来改一下,我们在tomcat目录中新建立一个文件夹叫xiognda_webapps,我们把myweb给移动进去.同时将webapps改成xiognda_webapps,

wps_clip_image-23315

wps_clip_image-6915

重启tomcat,我们输入http://localhost:8080/myweb/a.jsp

wps_clip_image-31948

我们发现我们现在的目录是在xiongda_webapps下,也就是说我们的appBase自定义设置成功

D:还有两个配置就是解包和自动部署

wps_clip_image-3797

解包和自动部署呢,我们先了解一下是什么意思就可以了,因为后面会学习到.

如果是压缩包的,会问你要不要解包,如果你是新的呢,会问你要不部署,只要知道就ok了

E:接下来我们继续讲,

wps_clip_image-7677

这块呢有个线程池的设置,虽然是被注释的,但实际上是可以也需要配置的.

wps_clip_image-7786

什么是线程池配置呢?我们来看一下.

浏览器呢,有很多种,有IE,有谷歌,TomCat是一个一对多的服务,当仅有一个IE对TomCat进行访问的时候呢,是单线程.如果再有其他人来访问的时候,tomcat就必须提供多线程的服务.

简单来说就好比一个饭店,如果来一个人,那么一个厨子是够的,如果同一时间段来五个人呢,可能勉勉强强能够忙的过来,但是同一时间段如果来十个人呢,我就必须再请一个厨子,才能够忙的过来.如果同一时间段来二十个人呢,我就再请一个,也就是三个厨子才能忙的过来如果突然暴涨来一百个人怎么办呢,对不起我不能可能请一百个厨子,请在我三个厨子的极限二十个客户以外的八十个人稍微等等.如果要问为什么,.但是我不可能一直不停增加厨师数量,因为每一时间段的客户量是不定量,肯能正好够我请的厨子这些人的工作量,也有可能只来一个人,那么我这些厨师的工资不是白给了.所以必须结合自己的客流量实际情况选择请合适人数的厨师,也就是线程数.

来来,小朋友们,我们来把这个线程数放开并设置为150个.

wps_clip_image-23139

其中minspareThreads就是最小启动数,也就是咱们餐馆正式工有4个,其余的话146都是临时工,忙的时候才来.

那么我们这服务器就同一时间就只开放150个座位也就是150个人来访问.

二.设置外部WEBAPP及使用根目录开发

好,接下来我们继续,如果我们要配置一个外部WEBAPP,怎么办呢?

我们打开conf下的server.xml 添加一个字段

<Context path="/myweb" docBase="e:\Jsp_Code\JBlog" reloadable="true"  debug = "0"/>

就这么一段就可以了,那分别是什么意思呢?

A:wps_clip_image-23014访问路径,主要是在URL上会有体现.

B:wps_clip_image-16264工程的实际路径

C:wps_clip_image-9940 热部署 就是当服务器开着 如果你把工程内部修改,它也会更新,实

时加载,主要设置jsp

D:wps_clip_image-6725就是调试模式,例如你访问服务器上的不存在的页面,就会返回404给你.

我们进server.xml设置一下

wps_clip_image-11811

然后我们在打开这个http://localhost:8080/myweb/a.jsp

wps_clip_image-10597

我们发现我们可以访问这个外部的web目录了

还可以有两种形式来配置外部web目录

2.只有一个/

wps_clip_image-20158

或者直接""

wps_clip_image-9800

但是我们实际访问,发现都是404为啥? 因为主目录的root失去效果

wps_clip_image-25116

很多人会问这个root是干啥的呢.其实这个root还是很重要

ROOT一般是放欢迎界面的,如果我们有一个myweb,一般我们是放进ROOT里面,但是我们

访问是通过http://localhost/myweb访问的,如果我们想使用http://localhost/来访问myweb里面

的内容怎么办呢?也就是我们想占领这个http://localhost/这个路径怎么办呢?

把myweb里面的内容全部拿到ROOT下

wps_clip_image-23479

同样外部的WEBAPP也可以利用原理这个来替换

三.重头戏Servlet

接下来呢,我们就抛离TomCat的知识点了,我们来讲一讲Servlet,Servlet作为以前sun的web最核心的技术之一.

wps_clip_image-19020

好了,我们把目光转向web这一部分,web不仅仅是jsp还有各种其他语言,他们的特点呢如下图.

wps_clip_image-1102

在我们平常的web应用程序,既会有静态页面也会有动态页面,那么什么是静态页面,什么又是动态页面呢?

wps_clip_image-15673

商业的网站基本上都是动态+静态,混合编程.

那么既然我们要写servlet 我们首先看看servlet与jsp的关系吧

wps_clip_image-13594

说了这么多,我们来实际开发一个servlet吧!

1.新建myeweb,

2.将ROOT下的WEB-INF拷贝过来

3.在myweb\WEB-INF新建立一个classes文件夹,建立A.java

那么在这个A.java中我们应该写些啥呢,我们来写个servlet版的HelloWorld吧!

wps_clip_image-7998

4.将tomcat\lib\servlet-api.jar考入jre\lib\ext下,并将tomcat\lib\servlet-api.jar设置进classpath环境变量

5.在web.xml中添加你的servlet信息

wps_clip_image-32363

6.重启

7.ok

那我们来把这个Servlet给分析一下,如下图

wps_clip_image-3915

以上为凯歌学堂2014/11/8号之课程笔记.@Author 熊大 2014.11.10.

J2EE学习笔记02 Server.xml知识点及Servlet初步