JAVAWeb听课笔记
java web(动力节点老杜)
-
本机Ip地址:127.0.0.1 或者是localhost
-
测试Tomcat是否成功,在浏览器中输入URL即可
-
--http://ip地址:端口号
实现一个最基本的web应用(这个web应用没有java小程序)
-
第一步:找到CATALINA-HOME\webapps目录
-
第二步:在CATALINA-HOME\webapps目录下新建一个子目录起名oa 这个目录名oa就是你的webapp的名字
-
第三步:在oa下新建index.html
-
第四步:打开浏览器在浏览器中输入URL http://127.0.0.1:8080/oa/index.html 也可以通过超链接的方式访问:直接在浏览器中输入一个URL 然后回车,这个动作和超链接是一样的
-
<!--注意以下路径,以/开始,带项目名,是一个绝对路径,不需要加:http://127.0.0.1:8080--> <a href="/oa/index-login"> login</a> <!--注意以下路径:我们目前前端上的路径都以"/"开始,都是加项目名的--> <a href="/oa/test/debug/index-login"> login</a>
-
访问以下网址,可以展示一个列表页面,但是这个用户列表页面是写死在HTML文件中的,这种资源我们称为静态资源。变成动态资源的话,显然是要连接数据库的
-
连接jdbc程序,也就是说编写java程序连接数据库,数据库中有多少条标记,页面就显示多少条标记,这种技术被称为动态网页设计(不是有flash动画,而是根据数据库的变化而变化的)
对于一个动态的web应用来说,一个请求和响应的过程有多少个角色参与,角色角色之间有多少个协议
-
角色和角色之间要遵守哪些规范和协议
webapp开发团队和web server的开发团队之间有一套规范:javaEE规范之一 servlet规范
servlet规范的作用:web server和webapp解耦合
Browser和webapp之间有一套传输协议:http协议(超文本传输协议)
webapp开发团队和DB server的开发团队之间有一套规范:JDBC规范
BS系统角色和协议
模拟Servlet本质
-
充当SUN公司的角色
javax.servlet.Servlet接口
-
充当Tomcat服务器的开发者
-
充当webapp的开发者
Bankservlet.implents.Servlet
UserListservlet.implents.Servlet
UserLoginservlet.implents.Servlet
-
通过我们的分析
-
对于我们java程序员来说我们只需要做两件事:
1、编写一个servlet接口
2、将编写的类配置到配置文件中,在配置文件中:指定,请求路径和类名的关系
-
注意
这个配置文件名不能够乱来,固定的
这个配置文件的路径不能乱来,固定的
文件名、文件路径都是SUN公司制定的servlet规范中的明细
-
严格意义上讲servlet并不是一个简单的接口
servlet规范中规定了:
一个合格的webapp应该是一个怎么样的目录结构
一个合格的webapp应该有一个怎么样的配置文件
一个合格的webapp配置文件路径放在哪里
一个合格的webapp中java程序放在哪里
这些都是servlet规范中规范的
开发一个带有servlet的webapp
-
第一步:在wabapps下创建一个目录,起名字crm(这个crm就是webapp的名字,当然也可以起其他的名字)
【注意:crm就是webapp的根】
-
在webapp的根下创建一个新的目录起名:WEB.INF
【注意:这个目录的名字是由servlet规范中规定的,必须一模一样,必须全部打写】、
-
第三步:在WEB.INF下新建一个目录:classes
【这个目录必须是全部小写的classes,用来存放java程序编译之后的class文件】
-
第四步:在WEB.INF下新建一个目录:lib
【这个目录不是必须的,但是如果一个webapp需要第三方jar包的话,这个包要放在lib目录下,这个目录的名字也不能随意编写,必须全部小写,例如java语言连接数据库的驱动jar包,那么这个jar包就一定要放在lib目录下,这个也是servlet规定的】
-
第五步:在WEB.INF目录下新建一个文件,web.xml
【注意:这个文件是必须的,这个文件名字必须叫做web.xml。这个文件必须放在这里,一个合法的webapp,web.xml文件是必须的,这个文件是一个配置文件,这个配置文件中描述了请求路径和servlet类之间的对照,这个文件最好从其他webapp中拷贝,最好不要手写】
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" version="5.0" metadata-complete="true"> <!--servlet描述信息--> <!--任何一个servlet都对应一个servlet-mapping--> <servlet> <servlet-name>fdsafdsafdsafdsa</servlet-name> <servlet-class>这个位置必须是带有包名的全限定类名</servlet-class> </servlet> <servlet-mapping> <servlet-name>这个也是随便的不过内容要和上边的一样</servlet-name> <url-pattern>这个地方需要一个路径,这个路径的唯一要求就是必须以、开始</url-pattern> </servlet-mapping> </web-app>
-
第六步:编写一个java程序,这个小程序也不可以随意开发,这个小程序必须实现servlet接口
-
这个servlet接口不再jdk当中(因为servlet已经不属于javase了,它属于javaEE的范畴了)
-
servlet接口(servlet.class文件)是Orcale提供的(最初由sun公司提供)
-
Tomcat服务器实现了servlet规范, 所以Tomcat服务器也是需要servlet接口,Tomcat服务器的CATALINA_HOME\lib下有一个servlet.api.jar里面有一个Servlet.class文件
-
-
编译我们写的helloServlet
重点:怎么让你的编译通过那,配置环境变量
CLASSPATH=.;D:\我的软件\java\tomcat\apache-tomcat-10.0.12\lib\servlet-api.jar
-
启动tomcat
-
打开浏览器在浏览器上输入一个url
这个URL必须是http://127.0.0.1:8080/crm/..............
浏览器上编写路径太复杂,可以使用超链接(HTML页面只能放到WEB.INF目录外边)
关于JavaEE版本
-
javaEE目前最高版本是JavaEE8
-
javaEE被Oracle捐献给了Jakarta
-
以后不叫做JavaEE 以后叫做JakartaEE
-
javaEE的时候对应的类名是:java.servlet.Servlet\
-
JakartaEE9的时候对应的类名是:Jakarta.servlet.Servlet
解决Tomcat服务器在DOS命令窗口出现乱码的现象
-
将CATALINA_HOME/conf/logging.properties文件下的内容修改如下: java.util.logging.ConsoleHandler.encoding = GBK