1. 服务器的概念和作用:
- 问题:
学习了 java 编程之后,java 代码的一个很重要的作用就是进行数据的处理,但是目前来说我们运行编写的代码,只有一次性,也就是运行完毕后,如果需要再次运行则需要再次手动启动代码的执行。但是我们无法提前预知用户会何时发送请求,也就无法决定我们编写的 java 代码应该什么时候启动运行。而且手动运行也变得不现实。 - 解决:
那么根据 java 的网络编内容,我们是不是可以使用代码编写一个容器(对象)呢?,该容器可以根据用户的请求来启动并运行我们编写的数据逻辑代码。答案是可以的。 - 实现:
服务器 - 解释:
所谓服务器其实就是代码编写的一个可以根据用户请求实时的调用执行对应的逻辑代码的一个容器
。在普通用户看来就是一个安装程序。我们只需要将服务器在操作系统上进行安装,并将我们事先编写好的逻辑处理代码根据规则放到服务器的指定位置,启动服务器,那么服务器就自动的会根据接收到请求调用并执行对象的逻辑代码进行处理。
2. Tomcat
默认端口号:8080
- cd到Tomcat的bin目录下:
- 授权bin目录下的所有操作:终端输入
sudo chmod 755 *.sh
,输完回车 - 开启Tomcat,终端输入
sudo sh ./startup.sh
,输完回车 - 关闭Tomcat,终端输入
sudo sh ./shutdown.sh
,回车即可关闭 - 补充:
755
代表用户对该文件拥有读、写、执行的权限,同组的其他人员拥有执行和读的权限,没有写的权限,其它用户的权限和同组人员一样.
- 授权bin目录下的所有操作:终端输入
-
sudo sh
- 此命令以超级用户身份运行"sh"
- sh实用程序是一个命令语言解释器,它将执行从命令行字符串,标准输入或指定文件读取的命令。
-
-Dfile.encoding=UTF-8
修改Tomcat配置
注意: -
@WebServlet(name = "UserServlet", urlPatterns = "/user")
- 以这种形式配置servlet访问名,然后我就是少了前面的“/”导致了启动tomcat时,报错
java.lang.IllegalStateException: Error starting child
- 以这种形式配置servlet访问名,然后我就是少了前面的“/”导致了启动tomcat时,报错
3. Apache
默认端口号:80
- 打开终端,开启Apache:
- 开启apache:
sudo apachectl start
- 重启apache:
sudo apachectl restart
- 关闭apache:
sudo apachectl stop
- 开启apache:
- Apache服务器的默认文件路径
/Library/WebServer/Documents
在/etc/apache2/httpd.conf
找到DocumentRoot
可修改配置
4. Apache和Apache Tomcat的区别和联系
- Apache是
web服务器(静态解析,如HTML)
,tomcat是java应用服务器(动态解析,如JSP)
- Tomcat只是一个
servlet(jsp也翻译成servlet)容器
,可以认为是apache的扩展,但是可以独立于apache运行 - 同为服务器,Tomcat的特别之处在于它还是
Java的Web容器
,能够处理JSP;而Apache一般是与PHP结合,并不能处理JSP。 - Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。
- 两者整合:
- 如果要在Apache环境下运行jsp就需要一个解释器来执行jsp网页,而这个jsp解释器就是Tomcat
那为什么还要JDK呢? - 因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要
APACHE+TOMCAT+JDK
- 如果要在Apache环境下运行jsp就需要一个解释器来执行jsp网页,而这个jsp解释器就是Tomcat
- 整合的好处:
- 如果客户端请求的是静态页面,则只需要Apache服务器响应请求
- 如果客户端请求动态页面,则是Tomcat服务器响应请求
- 因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销
网友评论