服务器(硬件):
在公网上用来运行特别的程序,或者此程序需要的运行环境的,能够给广大用户提供服务的一台计算机。
一般配置比较高,同样也有人专门进行维护(运维)。
服务器(软件):
如果只有硬件那么用户也是无法访问资源内容,例如使用ServerSocket技术提供接受请求并处理然后响应的能力。
但是ServerSocket技术太接近于底层了,所以有团队和组织已经将这些东西直接封装好了(开发了成熟的产品),我们只需要将此类软件部署在服务器硬件上,启动之后就可以面向用户提供服务了。
主流的服务器:
Apache 静态服务器
Nginx 静态服务器
Jetty
Jboss
WebLogic
Tomcat
下载8.5 https://tomcat.apache.org/download-80.cgi
解压zip文件
启动bin目录下的startup.bat
在浏览器的地址栏输入localhost:8080 Tomcat默认端口号为8080
bin目录下的shutdown.bat关闭服务器 / 直接关闭窗口
安装目录介绍:
bin 可运行的批处理文件
startup.bat/sh
shutdown.bat/sh
catalina.bat/sh
conf 服务器的配置文件
server.xml 服务器配置信息
web.xml 服务器内项目的配置信息
context.xml 服务器内资源的配置信息
lib 服务器运行所需要一些相关jar库/包
el-api.jar
jasper.jar
jasper-el.jar
jsp-api.jar
servlet-api.jar
tomcat-dbcp.jar
tomcat-jni.jar
logs 服务器日志文件夹
catalina.日期.log 服务器运行相关信息
localhost_access_log.日期.log 服务器访问信息
temp 服务器在运行时需要的临时文件存储目录
(重要)webapps :web项目存放的目录
ROOT(根目录/)
work: 它和JSP有关,JSP翻译的代码会存储在这里
端口号修改:
在安装目录conf下的server.xml中修改端口 (第69行)
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改欢迎页:
在conf目录下的web.xml中的最后一块
<welcome-file-list>
<welcome-file>index.htmlwelcome-file>
<welcome-file>index.htmwelcome-file>
<welcome-file>index.jspwelcome-file>
welcome-file-list>
找到webapps目录
除了ROOT目录之外,我们可以在webapps目录下新建一个文件夹(英文)
将你的项目资源统一放在其中即可
届时可以在浏览器地址栏中输入完localhost:8080之后继续去写你项目所在的webapps目录下的位置
假如你的项目是在webapps目录下的一个test目录中,访问时需要以localhost:8080/test/前缀
你可以在你项目文件夹内新建一个WEB-INF目录,里面可以新建一个web.xml用于存储你这个项目应用的具体配置,它的优先级比服务器conf目录下的web.xml高。
new -> others -> 搜索dy… 找到dynamic web project
按照下方填写内容
项目名
运行库(Java EE库)
项目模板2.5 因为2.5模板会自动创建web.xml而3.0没有
web项目2.5版的目录结构如下:
为了能够部署我们创建的web项目,我们需要对IDE进行一些服务器配置
window -> show view -> servers选项卡
点击链接创建新的服务器(这个服务器其实是Eclipse基于真实tomcat去创建的临时/镜像服务器,为的是以免影响到真实tomcat目录)
为了能够使服务器部署项目时正常被我们所观察,我们需要将其默认的配置目录进行更改,如下。(Ctrl+S)
接下来可以将我们的项目放到此服务器中了
右键服务器 -> add and remove -> 添加项目
启动服务器(start)
传统的静态网页技术无法满足动态数据的需求,我们的HTML无法嵌入数据库查询的代码,所以我们需要将HTML结合Java代码进行使用,那么产生了JSP(Java Server Pages)Java服务器页面。 HTML + Java = JSP。
扩展名.jsp,在Eclipse创建JSP小心编码。(window -> 首选项 -> jspfiles -> encoding)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
Insert title here
<%@ page language="java" contentType="text/html; charset=UTF-8" import=""
pageEncoding="UTF-8"%>
<%@include %>
<%@taglib %>
<% Java代码 %> 能写一部分Java代码,但是无法定义方法,它可以定义在JSP页面的任意位置。
它的代码是被放到了JSP转成的.java文件的_jspService方法内。
<%=Java代码 %>能写一部分Java代码,但是调用方法时,不能调用无返回值的方法,不能在其中添加;
号,当然也不能定义方法等。=号后面的内容,可以在页面输出。
它的代码是被放到了JSP转成的.java文件的_jspService方法内,并且转化为了out.print() 向页面输出的代码。
<%! Java代码 %> 能写一部分Java代码,但是虽然能定义方法,却不能调用方法。
它的代码是被放到了JSP转成的.java文件的成员位置。
Java代码想要运行:.java -> .class才能运行
Tomcat中的work目录(它和JSP有关):存储着JSP翻译后的内容。
JSP在运行的时候,需要经历三个步骤。