一、理论
1.java【java核心】 javaEE【web开发】 javaME【移动开发】
2.B/S和C/S模式
①C/S模式
C/S:Client/Server架构,即客户端/服务器端。通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,需要安装客户端才可进行管理分配。
②B/S模式
Browser/Server,(浏览器/服务器模式)是web兴起后的一种网络结构模式,web浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。
B/S结构程序的工作原理
从用户的操作开始,用户在浏览器页面提交表单操作,向服务器发送请求,服务器接收并处理请求,然后把用户请求的数据(网页文件、图片、声音等等)返回给浏览器,至此一次请求完成。
③B/S和C/S区别
3.常见的服务器
①概念:
服务器也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,web服务器等。
服务器就是提供服务的设备,是由硬件和软件两部分组成。
硬件服务器:构成包括处理器、硬盘、内存、系统总线等组成的电脑主机
软件服务器:Web服务器 Tomcat
数据库服务器 MySQL Oracle
缓存服务器 Redis (NoSql)
反向代理服务器 Nginx 负载均衡
正向代理服务器 Node
文件服务器 ftp服务器
4.web服务器
①IIS
是微软公司主推的服务器。IIS的特点具有:安全性,强大,灵活
②Tomcat
是Apache软件基金会的Jakarta项目中的一个核心项目,由Apache,sun和其他一些公司及个人共同开发而成。Tomcat技术先进、性能稳定、而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的web应用服务器。
③Zeus
是一个运行于Unix下的非常优秀的web服务器,据说性能超过Apache,是效率最高的web服务器之一。
④Nginx
不仅是一个小巧且高效的HTTP服务器,也可以做一个高效的负载均衡反向代理,通过它接受用户的请求并分发到多个Monfrel进程可以极大提高Rails应用的并发能力。
⑤Apache
是世界使用排名第一的web服务器软件。它几乎可以运行在所以的计算机平台上,由于Apache是开源免费的,因此有很多人参与到新功能的开发设计,不断对其进行完善。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。
⑥Lighttpd
是由德国人JanKneschke领导开发的,基于BSD许可的开源web服务器软件,其根本的目的是提供一个专门针对高性能网站,安全、快速、兼容性号并且灵活的webserver环境。具有非常低的内存开销,CPU占用率低,效能号,以及丰富的模块等特点。支持FastCGI,CGI,Auth,输出压缩(outputcompress),URL重写,ALias等重要功能。
5.Tomcat服务器
因为Tomcat技术先进,性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的web应用服务器。Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet 和 JSP 容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为10。
6.TOmcat文件夹构成
项目部署:
①Webapps---放置项目
②修改server.xml<Context docBase="项目的绝对路径" path="请求路径" reloadable="true"/>
自定义servlet
①在WEB-INF下创建一个目录lib并把servlet-api.jar导入
②创建一个类并继承HttpServlet
public class HelloServlet extends HttpServlet {
//(3)重写service方法
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//浏览器上 获取输出对象
PrintWriter writer = resp.getWriter();
writer.print("<h1>wo shi di yi ge servlet</h1>");
}
}
③由谁创建该类的对象---Tomcat容器创建--web.xml