:::info 大二下学期上课笔记 :::
【第二章】JavaWeb概述
一、XML
XML
是一种标记性语言,但是不同于 HTML
,目的其实就是用于传输数据,但是 HTML
的目的可以理解为展示
网站建好之后,需要将自己的文章链接提交到百度/谷歌,通过部署生成的
baidusitemap.xml
和sitemap.xml
文件,sitemap提交方式提交以达到目的。
XML语法
- 文档声明:图中最上面一行
- 元素定义:形式相当于
HTML
当中的标签,但不是标签,有根元素(一般只有一个),空元素等之分 - 属性定义:其中值需要用双引号或者单引号括起来
- 注释:和
HTML
一样
DTD和Schema约束
有些时候文档内可能内容语义有歧义,所以需要对其xml文件内容尽可能的加以约束,DTD和Schema两种方式
二、HTTP协议
生成的web项目和服务器之间的传输协议
其中http1.1版本比1.0版本优化的是对http请求可以同时进行多个请求和响应
HTTP请求消息
客户端(web浏览器)向服务器发送请求,通常由请求行、请求头、实体内容三部分组成
- 请求行:请求方式,资源路径,http协议版本三部分组成。请求方式又有GET(所请求内容会在资源路径后面带上参数值,会有大小限制)和POST(安全,无大小限制)等方式
HTTP响应消息
也由三部分组成,有资源状态行、响应消息头、实体内容
- 资源状态行:协议版本 状态码 状态描述三部分组成。其中状态码有多种,常见的404就是服务器找不到相应请求的的资源
三、Tomcat
关于Tomcat
下载安装Tomcat
安装等方式参考博客
四、Web应用
简述
web应用,就是一项工程,在编写web项目过程中,对文件按照“合乎规矩”的方式放置
IDEA配置Tomcat
搭建web开发环境
资源的访问,点击请求的页面跳转设置web.xml
中配置
阮一峰的网站当中,有类似域名自动跳转,是否和域名解析有关呢?抑或是对web.xml进行了操作?
对idea进行web开发 配置https://blog.csdn.net/ZTlink1013/article/details/104815639
【第三章】Servlet
一、什么是Servlet
什么是Servlet
Servlet就是在服务器端的Java接口或者说是类(叫法有狭义广义之分),处理客户端传来的请求并作出相应的响应这么一个网络模块。
- 请求:客户端传来的调用或是一系列行为,同时也包含了请求所需要的数据。
- 响应:服务器根据客户端传来的请求做出响应,实时的展示给客户端。这之中Servlet相当于java类当中的一个接口,以请求来的信息作为输入,然后进行分析,做出相应。
JSP和Servlet
servlet是控制层,jsp转换为servlet,用servlet来实现http请求。
【1】JSP第一次运行的时候会编译成Servlet,驻留在内存中以供调用。
【2】JSP是web开发技术,Servlet是服务器端运用的小程序,我们访问一个JSP页面时,服务器会将这个JSP页面转变成Servlet小程序运行得到结果后,反馈给用户端的浏览器。
【3】Servlet相当于一个控制层再去调用相应的JavaBean处理数据,最后把结果返回给JSP。
【4】Servlet主要用于转向,将请求转向到相应的JSP页面。
【5】JSP更多的是进行页面显示,Servlet更多的是处理业务,即JSP是页面,Servlet是实现JSP的方法。
【6】Servlet可以实现JSP的所有功能,但由于美工使用Servlet做界面非常困难,后来开发了JSP。
【7】JSP技术开发网站的两种模式:JSP + JavaBean;JSP + Servlet + JavaBean(一般在多层应用中, JSP主要用作表现层,而Servlet则用作控制层,因为在JSP中放太多的代码不利于维护,而把这留给Servlet来实现,而大量的重复代码写在JavaBean中)。
【8】二者之间的差别就是,开发界面是JSP直接可以编写。
比如在JSP中写Table标记:<table>[数据]</table>;
Servlet需要加入:out.println(“<table>[数据]</table>”)。
JSP文件在被应用服务器(例如:Tomcat、Resin、Weblogic和Websphere),调用过之后,就被编译成为了Servlet文件。也就是说在网页上显示的其实是Servlet文件。Tomcat下面JSP文件编译之后生成的Servlet文件被放在了work文件夹下,JSP中的HTML代码在Servlet都被out出来,而JSP代码按照标签的不同会放在不同的位置。
【9】JSP中嵌入JAVA代码,而Servlet中嵌入HTML代码。
【10】在一个标准的MVC架构中,Servlet作为Controller接受用户请求并转发给相应的Action处理,JSP作为View主要用来产生动态页面,EJB作为Model实现你的业务代码。
二、Servlet基础
接口及其实现类
生命周期
HttpServlet类
一般客户端和服务器之间都回使用 HTTP协议
,所以Servlet接口中就提供了一个抽象类javax.servlet.http.HttpServlet
,他是 GernericServlet
的一个子类,专门用来处理 HTTP协议
的servlet;具体程序中就是用该类
HelloWordServlet.java
package cn.itcast.firstmyapp.servlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class HelloWordServlet extends HttpServlet {
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("接受了客户端的请求-----------------------------");
// 设置响应类型:
resp.setContentType("text/html");
// 获取输出流:
PrintWriter pw = resp.getWriter();
// 写入响应:
pw.write("<h1>Hello, world!</h1>");
// 最后不要忘记flush强制输出:
pw.flush();
}
}
三、Servlet虚拟路径的映射
1. 多重映射
就相当于多加几个自己指定的访问路径,在web.xml中
2. 映射路径下使用通配符
在其中使用通配符,一个目录下的所有路径都可以访问,其中有完全目录匹配,目录匹配,扩展名匹配
3. 缺省
通常作用是解决请求的资源找不到的情况,(404:请求的资源找不到)
四、 ServletConfig
和 ServletContext
ServletConfig接口
类比于git根文件夹.ssh
下的config配置文件,它是servlet的配置对象,目的就是获取与servlet的初始化参数
PS:会使用常用的接口方法
【第五章】会话技术
一、会话技术
相当于在客户端和服务器端之间,记录一些用户信息,但是不能用上一章节的,因为那只能保存暂时的信息。 servlet
还提供两个对象 Cookie
和 Session
可以更好地更好地保存会话数据。
【第六章】JSP技术
一、JSP概述
一种新的编写动态网页的技术,虽然本质还是调用了 servlet
,但是相比前者要简单很多(前者向页面写数据麻烦,复杂),其组成可以简单理解为jsp = html + java + jsp自身
调用servlet过程:
其中jsp生成java文件,编译成class文件所在目录(本来应该在tomcat的work路径下):D:\project-java\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\demo-jsp\org\apache\jsp
打开java文件之后可以看到相关对sevlet的继承
二、JSP语法
jsp脚本元素
jsp注释
jsp指令
page指令
include指令
taglib指令
jsp隐式对象
【第九章】JDBC
一、什么是JDBC
使用数据库来存储和管理数据
二、JDBC常用的API
五个接口一个类(唯一的类)