位置: IT常识 - 正文

学习笔记——Servlet

编辑:rootadmin
2022-10-29 Servlet 1、 Servlet的作用: 例如:查询数据 (1)浏览器端点击某个查询功能,向服务器端发出请求;服务器端解析请求,创建Servlet对象,并调用特定方法;Servlet对象调用“DAO”方法获取数据;DAO方法查询数据库。 (2)之后将后端的处理数据传递给“前 ...

推荐整理分享学习笔记——Servlet,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

2022-10-29

Servlet

1、Servlet的作用:

例如:查询数据

(1)浏览器端点击某个查询功能,向服务器端发出请求;服务器端解析请求,创建Servlet对象,并调用特定方法;Servlet对象调用“DAO”方法获取数据;DAO方法查询数据库。

(2)之后将后端的处理数据传递给“前端页面”,进行刷新。数据库返回查询结果;DAO方法返回集合数据;Servlet将数据响应给浏览器;浏览器接收到响应,显示页面。

2、Servlet的含义:

Servlet:Server Applet(就是指服务器端的小程序。主要用于和客户端交互,接收和处理请求)。

3、创建Servlet的“HelloServlet”:

步骤:

(1)新建一个普通类。如在创建的“Java Enterprise”项目的“Web Application”模块中的“src”文件夹下创建一个“HelloServlet”类。

(2)实现接口Servlet。(实现接口使用的是“implements Servlet”)

(3)实现接口的抽象方法(主要实现“service”方法)

package com.haha.servlet;import javax.servlet.*;import java.io.IOException;public class HelloServlet implements Servlet { /** * 主要功能:处理客户端的请求和响应 * @param servletRequest 来自客户端的请求 * @param servletResponse 来自客户端的响应 * @throws ServletException * @throws IOException */ @Override public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException { System.out.println("访问到HelloServlet的service方法..."); } @Override public String getServletInfo() { return null; } @Override public void destroy() { } @Override public void init(ServletConfig servletConfig) throws ServletException { } @Override public ServletConfig getServletConfig() { return null; }}

(4)给刚刚创建的类(HelloServlet)设置访问路径。设置的访问路径在“web.xml”。配置文件的设置:

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <!--为servlet起名--> <servlet-name>HelloServlet</servlet-name> <!--servlet的全类名(就是包名.类名)--> <servlet-class>com.haha.servlet.HelloServlet</servlet-class> </servlet> <servlet-mapping> <!--和上面起的名字一样--> <servlet-name>HelloServlet</servlet-name> <!--访问servlet的路径,注意前面一定要加/,要不然访问不到--> <url-pattern>/hello</url-pattern> </servlet-mapping></web-app>学习笔记——Servlet

之后,在该模块下的“src”文件夹下,创建一个“index.html”,设置一个超链接进行访问,如下:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body> <a href="https://www.cnblogs.com/isDaHua/archive/2022/10/29/hello">访问HelloServlet</a></body></html>

运行结果:

在弹出的浏览器中点击“超链接”,页面出现的空白的,在idea中的控制台上出现了运行结果。

4、servlet的生命周期

在servlet中的接口中,有“init/service/destory”。默认情况下,在进行请求时,执行init与service方法,如果要执行“destory”方法,那么需要停止“tomcat”服务器。

5、另一种实现servlet的方式

(1)创建一个普通类(MysecondServlet)

(2)继承“HttpServlet”

(3)重写“doget”和“dopost”方法。如下:

package com.haha.servlet;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class MySecondServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("访问到了MySecondServlet的doGet方法..."); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { System.out.println("访问到了MySecondServlet的doPost方法..."); }}

(4)在web.xml中设置MysecondServlet的配置文件

<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>mySencondServlet</servlet-name> <servlet-class>com.haha.servlet.MySecondServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>mySencondServlet</servlet-name> <url-pattern>/second</url-pattern> </servlet-mapping></web-app>

测试:

在刚刚创建的“index.html”中创建一个超链接,进行访问

<a href="https://www.cnblogs.com/isDaHua/archive/2022/10/29/second">访问MySencondServlet</a>

6、创建servlet的简易方式:

在“src”文件夹下的“包名”下,点击右键,如下:

可命名为“LoginServlet”,之后,在配置文件中会自动创建"<servlet>",但需要手动创建“<servlet-mapping>”

本文链接地址:https://www.jiuchutong.com/zhishi/312021.html 转载请保留说明!

上一篇:爬虫(爬虫技术是做什么的)

下一篇:织梦DEDECMS会员提示“数据校验不对,程序返回”问题的解决(织梦设置会员访问)

  • 购销合同印花税按70%
  • 资产减值损失纳税调增还是调减
  • 汇算清缴时有哪些需要调整的项目
  • 个体注销了名下的车辆
  • 贴现率和折现率相等吗
  • 业务招待费税前扣除比例
  • 年终奖金怎么扣税划算
  • 商品破损了应该怎么赔偿
  • 租房提前退租违约金国家标准
  • 实际缴纳增值税税额是什么意思
  • 单边征收
  • 前期物业管理公司
  • 六税两费减半征收政策2022
  • 劳务报酬属于公司员工么
  • 政府无偿给企业划拨土地是否需摊销
  • 从租计征的房产税纳税义务发生时间
  • linux如何将命令结果输出到文件
  • linux alias永久生效
  • 社保参保退费需要多久
  • reader_sl.exe - reader_sl进程有什么用.
  • 没有取得发票的支出可以做成本吗
  • 已收到发票未认证已付款怎么做分录
  • PHP:jdtojewish()的用法_日历函数
  • easyui给下拉框赋值
  • taro-ui-vue3
  • framework core
  • 厂房改造支出可以计入厂房价值吗
  • js如何随机生成字符串
  • vue显示pdf
  • 微信手机充值怎么自定义金额
  • go开发web项目
  • php判断手机浏览记录数据
  • java中的gui是什么
  • 新旧所得税法转换规定
  • 资产基金的明细科目
  • 出差补贴要扣税吗
  • 固定资产处置怎么计算
  • Windows OpenGL ES 图像曝光度调节
  • 个体升一般纳税人的界限
  • 现金流量表财务报表
  • 工资薪金税务缴纳
  • 个税的缴纳期数是什么
  • 保险公司报销修车流程
  • 发票怎样申领成功?
  • 公户里的钱可以随便转出嘛
  • 注会考试模拟机考
  • 公司购买一辆小型货车
  • 个税计提多了怎么办,跨年度了
  • 劳保统筹费缴费比例
  • 日记账对方科目代表什么意思
  • 快递公司的主营业务范围
  • 完全成本法作业成本法变动成本法对企业的影响
  • 会计主体包括哪些四种
  • sql server数据库查询语句
  • bulk insert formatfile
  • win8 itunes
  • w10英雄联盟老是崩溃
  • window 启动
  • centos如何操作
  • 升级win102004
  • LINUX下的磁盘编辑工具
  • w10系统输入法
  • vmware怎么配置网络
  • linux源码包
  • Android性能优化 武汉招聘
  • ExtJS下 Ext.Direct加载和提交过程排错小结
  • js按位运算符
  • jQuery插件能输出到控制台
  • python中迭代器的作用
  • 一篇文章让你彻底读懂德国历史
  • Unity3d MonoDevelop格式化代码
  • 请问在javascript程序中
  • jquerygrid
  • python listnode
  • 东莞市税务局稽查局
  • 重庆车位过户需要多久时间
  • 自然人电子税务局下载
  • 医保断交一年怎么续交
  • 自然人扣缴端怎么申报个税
  • 保税区企业会有两个海关编码吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设