java web的基础了解
架构
B/S
Browser-Server架构(浏览器——服务器架构)
直接由浏览器和服务器构成。
程序都是在服务器上运行,当用户群体比较大时,服务器端工作压力很大。用户通过在浏览器上登录某个网址,提交请求的信息。浏览器即向服务器提交了请求,服务器接收到请求,并根据请求的信息,进行相应的操作,比如:访问数据库、运行脚本程序等等,然后给浏览器回复一个响应,以此达到交互的功能。
C/S
Client-Server架构(客户端——服务器架构)
由客户端和服务器端构成。
用户必须要先下载并安装好客户端APP,通过APP才能访问到服务器,这是B/S与C/S的主要的区别。部分程序可在客户端运行,减缓可服务器的工作压力。
注意
B/S和C/S各有优势,两者是互补的关系,没有谁优于谁,谁替代谁的说法。
JDK的配置
下载并安装JDK
配置java_home ,classPass , path等变量
Tomcat的安装配置
-
先下载并配置好jdk。
-
登录apache官网下载tomcat,版本不要下最新,不然与其他软件不兼容。直接选择第一个zip下载就行,也可以根据系统的类型和位数选择相应的zip.
-
直接解压就可以用了。
-
完成后,在环境变量中的,用户变量和系统变量都要新增一个变量。变量名:CATALINE_HOME,值为:tomcat的安装路径,路径到bin的上一级即可,如下图:
-
验证是否配置成功
windows系统的用户,打开bin文件中的startup.bat,Linux系统的用户,打开bin文件中的startup.sh,若文件正常执行,没有出现闪退或打不开的情况,即成功了。关闭命令行,不要直接叉掉窗口,双击shutdowm.bat / shutdowm.sh即可。 -
端口冲突问题:tomcat的默认端口为8080,容易与其他端口冲突,最好改一下。
修改端口号
打开conf文件夹中的server.xml文件,以文本的形式打开,大概在中间位置找到下图的信息,直接改掉port,保存。
-
验证是否更改成功
在浏览器中输入localhost:8888(8888为相应的端口号),回车可访问tomcat,即为成功了。如果是IE浏览器,改为http://localhost:8888。
解压后的tomcat文件类型
bin: 存放可执行文件,如bat文件
conf: 配置信息文件。
lib: 存放jar文件。
temp:临时文件。
logs:日志文件,记录程序的执行。
webapps: 可执行的项目文件。
work: 存放JSP翻译成的Java,以及编译后的class文件。
web.xml的作用
- 指定默认的首页,如
<welcome-file-list> //如果第一个找不到,就会自动找下一个
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
- servlet的映射关系
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>accept</servlet-name>
<servlet-class>Server.accept</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>accept</servlet-name>
<url-pattern>/servlet/accept</url-pattern>
</servlet-mapping>
文件存放如下:
常见状态码
200:正常
300/301:重定向(跳转)
403:权限不足
404:资源找不到
502:服务器内部错误(代码错误)
直接在webapps中建一个项目
-
直接在webapps中新建一个文件夹,如"JSP Project", 在该文件夹下,新建一个"Web-INF"文件夹,在该文件夹下,新建"classes" 和"lib"文件夹,和一个"web.xml"文件,“web.xml"文件是该项目的配置文件,内容可直接复制webapps\ROOT\WEB-INF中的"web.xml”。classes文件夹存放java文件编译后的字节码文件,lib文件夹存放各种Jar包文件。
-
在"JSP Project"文件夹中,新建一个index.html文件,内容自定义,如下图:
-
在浏览器中输入
http://localhost:8899/JSP%20Project/
或在后面还加上index.html。显示如下:
http://localhost:8899
是连接到tomcat服务器;/JSP%20Project
是连接到那个项目;index.html
是首页;若在web.xml中将index.html设置为first-file了,输入网址时,可以不用加上index.html。
通过ip地址来访问自己的项目
- 打开C:\Windows\System32\drivers\etc的hosts文件,在
# localhost name resolution is handled within DNS itself.
下面加上
127.0.0.1 localhost
如图:
- 在浏览器中输入
127.0.0.1
显示如下:
为什么项目要放在webapps中
如果将"JSP Project"新建在webapps以外的文件夹中,再访问http://localhost:8899/JSP%20Project/
,就会出现404的错误,这是为什么呢?
当我将JSP project项目移到webapps文件夹以外,刷新访问该网页。
因为本地服务器的默认的根文件夹就是webapps,打开conf文件夹中的server.xml,可以看到下图的内容:
这就说明,localhost只可打开webapps中的项目。
如果想将项目建在webapps以外的文件夹中,需要配置一个虚拟路径。
虚拟路径的配置方法
方法1:
在server.xml文件中,Host标签中,加上下面这行代码
<Context docBase="" path="" /> //严格区分大小写
docBase:表示项目所在的实际路径。
path:表示在在webapps中的虚拟路径,即在网页中输入的地址。(可以是绝对路径,也可以是相对路径,相对于webapps的路径)
当在网页中输入path的路径时,服务器会自动到docBase的目录下,寻找项目。配置如下:
刚配置完虚拟路径,我就直接访问了。还是会报404的错误。我关闭服务器,再打开,再访问就成功了。
方法2:
方法1配置完成虚拟路径后,必须要重启服务器,才可以访问得到,方法2则不需重启。
- 先将刚才在conf文件夹的server.xml文件中加上的代码删除。
- 打开conf\Catalina\localhost目录, 在该文件夹上新建一个"项目名.xml"文件,文件内容为刚才删除的代码,如:
如果想将该项目作为默认项目,直接在前面的基础下,将"项目名.xml"文件重命名为ROOT.xml, 这样,访问该项目时,可以省略项目名了。如图:
在浏览器中输入http://localhost:8899/
访问如下图:
虚拟主机
通常我们访问一个网站时,都是在浏览器上输入一个域名,主机就会去询问域名解析服务器,域名解析服务器返回一个ip地址。主机再去访问与该ip地址对应的主机或服务器。其实,主机去询问域名解析服务器前,会先在本地,也就是本主机的记录中查找域名与ip地址的映射关系,如果找到了,直接访问ip地址对应的主机或服务器了。
因此,我们在主机的记录中加上一个虚拟主机记录,就可以通过更改主机名
让浏览器访问访问自己的项目了。
如:实现在浏览器中输入:baidu.com
,访问自己的项目。
- 打开tomcat中的conf/server.xml文件,在Host标签前面,再加上一个Host
<Host name="baidu.com" appBase="E:\software\Tomcat\JSP Project">
<Context docBase="E:\software\Tomcat\JSP Project" path="" />
</Host>
如下图:
Context中的内容就是虚拟路径,Context与webBase的内容可以相应更改。path也可以更改为
path="/"
因为/
会被识别出来,省略了首页。
2. 在Host标签上面几行找到Engine(引擎)标签,更改默认主机。
将defaultHost的内容更改如下图:
- 配置Host与本地ip的关系
打开C:\Windows\System32\drivers\etc的hosts文件,在# localhost name resolution is handled within DNS itself.
下面加上
127.0.0.1 baidu.com
如图:
- 在浏览器中输入"baidu.com:8899" , 其中,8899 为tomcat的端口号,显示如下:
当省略端口输入时,浏览器会跳到百度的官方网站。如果Host名并非正常使用的域名时,会出错。因为http协议中,网页的默认端口为80.
5. 如何省略端口输入,也可以正常跳转
将conf文件夹中的server.xml中的端口改为80,重启服务器,再输入baidu.com
,显示如下:
注意
- 更改server.xml文件时,必须重启服务器
(win系统运行shutdowm.bat,再运行startup.bat)
,才可以发挥作用。 - 测试某个更改效果时,记得要先清空浏览器的缓存,再进行测试。测试项目时,服务器保持再启动的状态。