目录
1、Tomcat服务器
2、JAVAWEB
2.1.servlet
doGet的解释:
wecome-file-list(欢迎文件):
doPost方法的解释:
servlet生命周期
2.2 两个重要对象 request response
1、request
2、response
3、如何通过servlet跳转标签
3.项目实战
1、Tomcat服务器
web服务器:
web服务器一般指网络服务器 正在学习使用的是Apache Tomcat
B/S架构:Browser/Server 浏览器/服务器 。通过浏览器与服务器交互,不需要安装其他程序
2、JAVAWEB
2.1.servlet
- 定义: servlet是Servlet Applet的简称,译为服务端小程序;
Servlet 程序其实就是一个按照 Servlet 规范编写的 Java 类。它具有平台独立性,可以被编译成字节码,移植到任何支持 Java 技术的服务器中运行。
- 定义: servlet是Servlet Applet的简称,译为服务端小程序;
Servlet 程序其实就是一个按照 Servlet 规范编写的 Java 类。它具有平台独立性,可以被编译成字节码,移植到任何支持 Java 技术的服务器中运行。
作为一个类 被父类或接口规范行为,因此要继承HttpServlet
javax一般为第三方提供也就是说 集成第三方提供的包。
浏览器访问服务器 再访问类 最后给他一个回应
servlet回应信息有两种方法:
doGet方法
doPost方法
去重写父类的doGet和doPost方法
Writer是一个输出流 浏览器和服务器打交道 获取的是输入输出流 getWriter()
.write写内容
- 地址
浏览器访问servlet 要具体的地址,这个地址我们做了映射。
- 第一种配置方式 @WebServlet去标注这是个servlet,括号内的urlPatterns是访问的地址
doGet的解释:
当我们浏览器通过get方式请求当前servlet,会执行doGet方法
如何访问servl?:
使用@WebServlet注解做了一个映射,当浏览器访问到urlPatterns后指定的路径就访问到当前servlet。
- 第二种方式:通过WEB-INF文件下的web-xml文件配置
wecome-file-list(欢迎文件):
当通过浏览器直接访问项目名称,而没有指定具体的文件或者资源的时候会从以下列表中选择第一个找到的文件进行反馈。
在web.xml文件下的配置和第一种效果相同,1.需要给servlet取一个名字 2.需要说明这个servlet是哪个类的。
doPost方法的解释:
doPost方式不能通过浏览器直接访问得到 ,浏览器回车就会进行doGet方式,doPost通过表单方式。
什么是表单:通过登录 注册 填写的方式 为表单。
在开发环境中 通过.html文件
action 表示要指定的地址
mathod表示提交的方式(get、post)
input表示提交的按钮
type表示指定类型 , value上表示按钮上的文本
不同的方式(post get)访问不同的方法 不符合现实我们希望无论是以哪种方式访问,都可以进入
- 第一种实现方法:在doPost中调用doGet
第二种实现方法 通过service方法
所有的请求都要经过service方法 在service方法中判断哪种方法
-
servlet生命周期
1.默认情况下,第一次访问servlet时实例化对象,并且立即执行init方法进行初始化
(调用构造函数 new出一个对象)(什么时候出生)
2.请求访问servlet 优先执行service方法,service根据请求方式不同选择doGet和doPost方法(做什么事)
3.什么时候销毁?(什么时候消失)
当服务器关闭时会销毁servlet对象,执行destroy方法。
- load-on-startup元素
控制Servelt启动优先级,控制实例化优先级的时机,取值越小优先级越高。
2.2 两个重要对象 request response
1、request
他是一个请求对象,将浏览器请求服务器的数据包装成request对象
(提交表单的数据从request中获取)
2、response
他是服务器相应浏览器的回应数据的包装对象
req.getParameterMap();//去了解一下 可以用 map获取此参数
3、如何通过servlet跳转标签
jsp也是一种servlet 里面也可以写Java代码 底层就是servlet
- 重定向:可以定位到外部项目,浏览器发生了两次请求(先访问到本机,通过sendRedirect命令发送第二次请求)
注:因为是回应所以是 resp .sendredierct 重新发送
- 转发:必须要在本项目内转,浏览器发送了一个请求,浏览器请求的地址不会发变化,
注意:转发过程中没有回应,是请求的转发 浏览器发送指令到A,再转发到B位置
因为是请求的转发所以是req .getrequestDispatcher获得转发器 .forward(快递员要带着快递一块)
- 可以访问WEB-INF下受保护的资源
注:WEB-INF下的资源是不能被访问的受保护的,servlet可以通过访问/hello服务器转发到web-下的资源。
优点: index可以直接访问 other要通过访问HelloServlet才能访问到,可以在HelloServlet中验证,只有登陆了才让你访问,保证了页面安全性。
3.项目实战
1.项目链接到数据库 需要mysql驱动包 加入lib文件下
2.用驱动包访问mysql --访问数据库的层 dao(Data access object)
3.创建工具类包
4.bean包 单独放Javabin数据的 存放表里面的列名叫什么就放什么,dao包导入bean包下的数据库访问指令
1.项目链接到数据库 需要mysql驱动包 加入lib文件下
2.用驱动包访问mysql --访问数据库的层 dao(Data access object)
3.创建工具类包
4.bean包 单独放Javabin数据的 存放表里面的列名叫什么就放什么,dao包导入bean包下的数据库访问指令
做一个用作登录的servlet叫做 LoginServlet
第一步 继承HttpServlet
第二步注解@WebServlet(urlPatterns=“login”)
第三步:编写业务 service
第四步:接受参数 查询数据库 根据结果查是否登陆成功



