Jsp/Servlet:
B/S:浏览器和服务器
C/S:客户端和服务器
-sun公司主推B/S架构
-基于java语言的(所有的大公司,或者一些开源的组件,都是用java写的)
-可以承载三高(高并发,高可用,高性能)问题带来的影响
-语法像ASP
web服务器
服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息;
Tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为比较流行的Web 应用服务器。
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一Java个初学web的人来说,他是最佳的选择。
Tomcat 实际上运行JSP 页面和Servlet。Tomcat最新版本为10.0.14。
下载安装:
官网地址:
启动以后访问:http://localhost:8080/
Tomcat配置文件
高难度面试题
请你谈谈网站是如何进行访问的!
- 输入一个域名;回车
- 检查本机的 C:\Windos\System32\drivers\etc\hosts配置文件下有没有这个域名映射
- 有的话直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问
- 没有的话去DNS服务器找,找到的话就返回,找不到返回找不到
发布一个web网站
1.将自己写的网站,放到服务器Tomcat中指定的web应用的文件夹(webapps)下,就可以访问了
Maven
为什么要学习Maven?
- 在JavaWeb开发中,需要使用大量的jar包,需要手动去导入。
- 如何让一个东西自动帮我们导入和配置这个jar包。
Maven项目架构管理工具
我们目前用来就是方便导入jar包的
Maven的核心思想:约定大于配置
- 有约束,不要去违反
Maven会规定好你该如何去编写我们的Java代码,必须按照这个规范来
配置环境变量
在系统环境变量中,配置如下配置
M2_HOME 此处是maven目录下的bin目录
MAVEN_HOME maven的目录
在系统的path中配置MAVEN_HOME
打卡命令行输入mvn -version测试是否安装成功
配置本地仓库
Servlet
Servlet简介
- Servlet就是sun公司开发动态web的一门技术
- sun公司在这些API中提供了一个接口叫做:Servlet
- 把实现了Servlet接口的java程序,叫做Servlet
HelloServlet
构建一个新项目,删掉src让他成为父工程
在创建一个子工程
关于Maven父子工程理解:
父项目中pom.xml会多出一个modules
子项目中会多出一个parent
编写Servlet的映射
为什需要映射:我们写的是Java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要在web服务中注册我们写的servlet,还需要给他一个浏览器能访问的路径
web服务器接收到客户端的http请求,针对这个请求,分别创建一个代表请求的HttpServletRequest对象,和代表响应一个HttpServletResponse
- 如果要获取客户端请求过来的参数:找HttpServletRequest
- 如果要给客户端响应一些信息:找HttpServletResponse
JSP
Java Server Pages Java服务器端页面
最大的特点:
1. 写JSP就像在写HTML
2. 区别:html只给用户提供静态的数据;JSP页面中可以嵌入JAVA代码,为用户提供动态的数据局
JSP原理
java代码需要在<% xxxx %> 中写
只要是JAVA代码就会原封不动的输出;
如果是HTML代码,就会转换为以后格式输出到前端:
out.write("<html>\r\n")
JSP基础语法
任何语言都有自己的语法,JAVA中有,JSP作为java技术的一种应用,他拥有一些自己扩充的语法(了解即可)JAVA所有语法都支持!
JSP表达式:
<%--
JSP表达式
作用:用来将程序输出,输出到客户端
<%= 变量或者表达式%>
--%>
<%= new java.util.Date()%>
jsp脚本片段
<%--jsp脚本片段--%>
<%
int sum = 0;
for (int i = 0; i <=100 ; i++) {
sum += i;
}
out.print("<h1>"+sum+"</h1>");
%>
JSP声明
<%!
static {
System.out.println("Loading Servlet");
}
private int globalVar = 0;
public void doSome() {
System.out.println("进入了doSome方法");
}
%>
JSP声明:会被编译到JSP生成Java的类中!其他的,就会被生成到_jspService方法中!