使用JSP/Servlet技术开发新闻发布系统---Servlet基础
Servlet简介
什么是Servlet
其实就是一个类,主要负责处理用户的请求和做到数据的相应以及页面的跳转,基于Java技术的Web组件
Servlet API
Servlet接口
Servlet与JSP的关系
JSP首先转换为.java文件,被JVM编译成一个.class,其实上他俩就是一个东西
JSP负责进行页面数据的渲染
Servlet处理请求和相应
Servlet的创建配置启动
1.实现Servlet接口
init():初始化Servlet
默认Servlet的初始化在首次访问到Servlet时进行初始化操作,可以通过<load-on-stratup>控制初始化顺序,如果这个节点为负数或者不配置则是默认的初始化顺序
如果这个节点的值正数,则根据数的大小进行初始化操作,也就是说在服务启动的时候会初始化Servlet,并且值越小初始化操作越先执行
getServletConfig()获取Servlet配置信息
service()负责处理用户的请求和相应
当每一次请求到Servlet时会执行service()方法
getServletInfo()获取Servlet信息
destroy()销毁
当项目服务停止时会将Servlet容器中装载的所有Servlet释放掉
访问Servlet:
1.配置Web.xml
<!-- 同一个Servlet在Web.xml当中有两项配置 -->
<servlet>
<!--Servlet名称-->
<servlet-name>DemoServlet</servlet-name>
<!--对应Servlet的路径(全路径)-->
<servlet-class>com.demo.servlet.DemoServlet</servlet-class>
<!--设置Servlet初始化时机-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<!--映射的名字-->
<servlet-name>DemoServlet</servlet-name>
<!--暴露给用户的访问地址,并且可以多个-->
<url-pattern>/DemoServlet</url-pattern>
</servlet-mapping>
2.注解
//我们通过Servlet模板生成的注解默认是只有一个访问地址,如果说要加上其他配置信息,需要以键值对方式体现出来
@WebServlet("/DemoServlet")
@WebServlet(loadOnStartup=1,urlPatterns= {"/DemoServlet","/yyy"})
3.注意问题:
web.xml和注解方式可以同时存在,但是name和url必须是不相同的,否则会报错
Servlet和JSP都是单例的,但是现在如果两种方式同时存在,那么创建了两个
2.方式二:继承GenericServlet类
service()负责处理用户的请求和相应
在GenericServlet类中已经对Servlet接口中的4个方法进行了重写,所以子类不需要再次重写其余4个方法
3.方式三:继承HttpServlet
主要关注两个方法:
doGet(HttpServletRequest request, HttpServletResponse response);
doPost(HttpServletRequest request, HttpServletResponse response);
最新文章
- js 数组删去重复的加上没有的元素
- Xcode下的批量编辑
- Unity协程截图,WWWForm、WWW配合上传
- MEF入门之不求甚解,但力求简单能讲明白(二)
- 一维条码打印的C#实现(Code128)
- QQ拼音还是不行哇
- 获取网页上数据(图片、文字、视频)-b
- 浅谈JavaWEB入门必备知识之Servlet入门案例详解
- leetcode算法: Find Largest Value in Each Tree Row
- PAT1127:ZigZagging on a Tree
- 《JavaScript设计模式与开发实践》笔记第八章 发布-订阅模式
- Nuxt.js调用asyncData
- CentOS7安装GitLab服务
- Windows Socket 编程_单个服务器对多个客户端简单通讯
- 将Python脚本打包成可执行文件——转载
- Mybatis关联查询之一对多和多对一XML配置详解
- Windows下mysql重设密码
- 转:桩模块 stub 和驱动模块 driver
- 解决 Comparison method violates its general contract!
- VGGNet网络结构