一. 常见软件系统体系结构
1.C/S
- C/S结构即客户端/服务器(Client/Server)
- 缺点:软件更新时需要同时更新客户端和服务器端两端,比较麻烦
- 优点:安全性比较好
2.B/S
- B/S结构即浏览器/服务器(Browser/Server)
- 优点:只需要编写服务器端程序
- 缺点:安全性较差。应用服务器的负载过重
二.Tomcat
为什么要安装tomcat ?
通过html可以制作一个网页. 让其他人访问我们编写的网页
目录结构
三.http协议
HTTP(hypertext transport protocol),即超文本传输协议。这个协议详细规定了浏览器和万维网服务器之间互相通信的规则。
HTTP就是一个通信规则,通信规则规定了客户端发送给服务器的内容格式,也规定了服务器发送给客户端的内容格式。其实我们要学习的就是这个两个格式!客户端发送给服务器的格式叫“请求协议”;服务器发送给客户端的格式叫“响应协议”。
http request + http response 构成了一个完成http的请求和响应过程。
浏览器通过发送http请求向服务器请求对资源的访问,http请求可以使用多种请求方法:
方法 作用
GET 请求获取所指定的资源
POST 请求服务器接收在请求中封装的实体
HEAD 请求获取所指定资源的响应信息报头
PUT 请求服务器存储指定的资源
DELETE 请求服务器删除指定的资源
TRACE 请求服务器回送收到的请求信息,主要用于测试OPTIONS 请求服务器的性能或者查询与资源相关的选项
三. Servlet
作用: 制作动态网页的
所谓的动态:将数据库表中的数据查询展示在html网页中
可以通过网页将页面的数据提交到数据库
其实就是让普通用户通过浏览器可以和服务器做交互
Servlet其实一个可以被浏览器请求执行的Java代码
当然Java代码本身是不能被浏览器请求执行的,只不过这个事情已经被tomcat底层帮助我们完成了,我们只需要按照约定好的语法规则即可实现Java代码被浏览器请求执行
什么是Servlet
Servlet 是一个 Java程序,是在服务器上运行以处理客户端请求并做出响应的程序
ServletContext
ServletContext对象 ,叫做Servlet的上下文对象。表示一个当前的web应用环境。
一个web应用中只有一个ServletContext对象。
对象创建和得到
创建时机:加载web应用时创建ServletContext对象。
得到对象: 从ServletConfig对象的getServletContext方法得到
GET请求和POST请求的区别:
l GET请求:
Ø 请求参数会在浏览器的地址栏中显示,所以不安全;
Ø 请求参数长度限制长度在1K之内;
Ø GET请求没有请求体,无法通过request.setCharacterEncoding()
来设置参数的编码;
l POST请求:
Ø 请求参数不会显示浏览器的地址栏,相对安全;
Ø 请求参数长度没有限制;
请求流程
1.浏览器发送url地址请求服务器,根据ip地址找到对应的服务器
2.在服务器上找到tomcat以及对应的项目
3.根据请求的url地址在web.xml文件中找到对应的url-pattern
4.根据servlet-name找到对应的Servlet类
5.自动执行Servlet类中的service方法
四、HttpServletRequest对象和HttpServletResponse对象
request对象:请求对象 ,处理和请求有关的操作
response对象:响应对象,处理和响应有关的操作
request对象:接收请求参数
response对象:向浏览器客户端输出
乱码问题
request接收的参数乱码:
在tomcat中server.xml文件
response相应的乱码:
response.setContentType(“text/html;charset=UTF-8”);
注意事项:这行代码一定写在获取PrintWriter打印流之前