1.Web开发概述
1.学习web开发,需要先安装一台web服务器,将开发好的web项目部署在web服务器中供外界访问。
2.web程序:把开发好的项目,部署在远端的服务器中,通过地址远程访问服务器中的项目。
3.服务器本质是一款软件,提供服务,用户访问资源文件,可以做出响应。
4.web服务器:
- web服务器是指驻留于因特网上某种类型计算机的程序。
- 可以向浏览器等web客户端提供文档,也可以放置网站文件,让全世界浏览;它是一个容器,是一个连接用户与程序之间的中间件。
- web服务器有很多,流行的web服务器有Tomcat、WebSphere、WebLogic、Jboss等。
- 在小型的应用系统或者有特殊需要的系统中,可以使用一个免费的web服务器:Apache的Tomcat,该服务器支持全部JSP以及Servlet规范。
5.web开发环境搭建:
-
Tomcat的目录层次结构
-
双击bin目录下的startup.bat文件,输入http://localhost:端口号或http://127.0.0.1:端口号或局域网ip:端口号。
-
Tomcat配置:(1)server.xml是Tomcat的主配置文件:提供Tomcat组件的初始配置,tomcat启动的时候执行这些初始化设置。修改此文件后,需要重新启动tomcat。如果此文件修改错误,则tomcat不能正常启动。(2)修改服务器端口号: <connector port=“8080” protocol=“HTTP/1.1” connectionTimeout=“20000” redirectPort="8443/>
6.创建发布web项目
(1)具体步骤: -
在开发工具中创建一个dynamic web project javaweb;
-
在webContent中创建index.html文件;
-
发布web应用到服务器,两种方式:1:手动发布:将workspace中web项目下WebContent目录中的文件复制到服务器webapps目录下,并在此目录中创建新的javaweb根目录。2.自动发布:自动将web应用发布到web服务器下,需要在开发工具中集成tomcat进来。
-
运行javaweb:打开浏览器访问http:localhost:8080/ javaweb/index.html
-
web项目结构
2.Servlet
1.Servlet概述
- Servlet是Server Applet的合成,意思为用java编写的服务器端的程序,它运行在web服务器中,web服务器负责Servlet和客户的通信以及调用Servlet方法,Servlet和客户端采用“请求/响应”的模式。
- Servlet作用:1.接收用户发送的请求,数据;2.调用其他的java程序来处理请求;3.根据处理结果,服务器将响应返回给客户端。
2.Servlet创建和使用
- 创建一个类继承javax.servlet.http包下的HttpServlet;
- 在web.xml文件中配置Servlet;
<!--
xml文件:可扩展标记语言,作用是用来存储数据
web.xml:用来存储web项目中的一些配置信息,此文件在服务器启动时被服务器加载读取
-->
<!-- 配置servlet 在服务器中注册servlet 由服务器管理所有的Servlet对象-->
<servlet>
<servlet-name>demo1</servlet-name><!--为servlet对象定义一个名称-->
<servlet-class>com.ff.javaweb.servlet.Demo1Servlet</servlet-class><!--类的地址,服务器通过反射机制创建对象-->
<!--为servlet配置一些参数-->
<init-param>
<param-name>count</param-name>
<param-value>1</param-value>
</init-param>
</servlet>
<!--给servlet配置一个访问地址-->
<servlet-mapping>
<servlet-name>demo1</servlet-name>
<!--为servlet配置供前端访问的映射地址 可以配置多个地址-->
<url-pattern>/demo1Servlet</url-pattern>
</servlet-mapping>
- 运行Servlet程序:通过浏览器访问http:localhost:8080/javaWeb/配置的url-pattern;
- 由于客户端是通过URL地址访问web服务器中的资源,所以Servlet程序若想被外界访问,必须把servlet程序映射到一个URL地址上,这个工作在web.xml文件中使用< servlet >元素和< servlet-mapping >元素完成。
3.创建发布web项目
- web.xml文件为web应用的配置文件,它必须放在web应用目录WEB-INF目录下。
- web.xml文件用于对web应用下的web资源进行配置,服务器在启动时会读取web.xml文件中的内容。
4.Servlet生命周期
3.Http
1.http协议
- http协议属于应用层;
- 超文本传输协议(HyperText Transfer Protoclo)服务器传输超文本到本地浏览器的传送协议,是互联网上应用最为流行的一种网络协议,用于定义客户端浏览器和服务器之间交换数据的过程;
- HTTP是一个基于TCP/IP通信协议来传送数据;
- HTTP是一个属于应用层的协议,由于其简捷、快捷的方式,适用于分布式超媒体信息系统。
2.http请求
- 客户端连上服务器后,向服务器请求某个web资源,称之为客户端向服务器发送了一个http请求;
- 请求包括:请求头、请求体(可能有,可能没有)、请求行包括http请求方式,请求资源名称,http版本。
- 请求头包含主机地址,以及客户端的一些环境信息,以键值对的形式传递。
- 提交表单的数据都在请求体中,请求体:代表着浏览器在post请求方式中专递给服务器的参数,请求体中参数以键值形式传递,多个用&连接,服务器接收到后再解析。
3.两种http请求方式
(1)GET方式:
超链接访问,默认是GET方式,form提交,不指定method,默认GET方式。
(2)POST方式:
form提交,指定method=“POST”。
(3)get方式与post方式的区别:
get:主要是从服务器端获取数据,也可以发送少量数据, get方式请求的数据在地址中拼接,会在浏览器地址栏显示,相对来说不安全,大小也会受到浏览器的限制。
post:主要是向服务器端发送数据,例如提交表单, post方式请求数据在请求体中,不在地址栏显示,相对安全,大小不受限制(通过post方式上传文件)。
4.HttpServletRequest
- HttpServletRequest是ServletRequest的子接口,HttpServletRequest比ServletRequest多了一些针对Http协议的方法;
- 请求和响应是web交互最基本的模式,在Servlet中,用HttpServletRequest来表示请求;
- HttpServletRequest:封装了请求的信息,可以从中获取任何请求信息。
5.http响应
一个http响应代表服务器向客户端回送数据,它包括:响应行,响应头,响应体。响应行里包括http协议版本,以及用于描述服务器对请求的处理结果;响应头用于描述服务器的基本信息,以及数据描述;响应体代表服务器向客户端浏览器回送的正文。
6.HttpServletResponse
- HttpServletResponse是ServletResponse的子接口。
- web服务器收到客户端的http请求,会针对每一次请求,分别创建一个代表响应的HttpServletResponse对象;
- HttpServletResponse对象代表响应。
4.向浏览器动态生成网页内容
1.用getWrite()获得一个PrintWrite字符输出流输出数据response会默认以ISO8859-1将需要输出到浏览器的字符进行解码,如果输出的字符在ISO8859-1中不存在,就会导致乱码。
PrintWriter out = resp.getWriter();
out.write("<h1 align=\"center\">账号不能为空!</h1>");
2.response.setContentType(“text/html;charset=utf-8”);方法,可以同时设定response所使用的字符集编码和浏览器打开所用的字符集编码。
//设置响应内容的编码
resp.setContentType("text/html;charset=utf-8");