Web开发学习记录——Servlet总结

本文深入探讨Servlet的工作原理,包括如何处理请求与响应,以及其在Struts2、SpringMVC等框架中的核心作用。同时,文章解析了分页技术在SQL中的实现方式,如使用通配符进行数据筛选。

目录

原则

Servlet

分页


  • 原则

  1. 目标明确,学习路径清晰。
  2. 不陷入细节,把握知识本质。
  3. 用对方法,自己来debugging(单步调试)。
  • Servlet

原理:Web程序,Request/Response模式;

1.如何接受请求数据?

request.getParameter(),通过HttpServletRequest对象和getgetParameter方法,

2.如何向浏览器响应请求?

request.setAttribute(),通过HttpServletRequest对象和setAttribute方法,将请求转发给JSP文件并向浏览器响应;

3.Struts 2 ,Spring MVC(Sprint boot)框架,背后实现技术还是Servlet。

Model-View-Controller(action)——Servlet;

反问自己几个问题:

Action有约束吗?

接受请求的方式还是HttpServletRequest对象和getgetParameter方法么?

如果不是,那是什么?

与Servlet的区别在哪里?

4.J2EE技术规范包含了什么?

包含了JSP,JDBC,Servlet,JNDI,JMS……

框架:将常规工作进行了封装,提高了开发效率。

他人对操作的一些封装也具有很大的局限性,比如,数据持久化操作中,Hibernate需要较复杂的配置,且仅适用于单表连接,这时我们最好自己写下JDBC。

已经有那么多他人做好的东西了,为什么还要学这些原理?

答:为了理解知识的本质。没有理解,何谈应用,甚谈灵活应用?他人造的轮子虽然多,但却无法让我学会简单地去解决问题,再好又与我何干?

  • 分页

select * from semester order by id offset ? rows fetch next ? rows only;

---这个方法在SQL执行时有点问题,

  • 用到的SQL知识,通配符

1.%,多个或一个字符,
delete from semester where name like '%1学期';

2.-,一个字符;
select * from semester where name like '%_期';

3.[charlist],含有char字符串;
select * from student where sname like '[J]%';

4.[^charlist],不含有char字符串;
select * from student where sname like '[^J]%';

 

ServletJavaEE 规范中的一部分,是处理 Web 请求的组件。Servlet 运行在服务器端,能够接收客户端发来的请求,并给客户端响应结果。下面我们来看看 Servlet 的基本概念和使用方法。 ## 一、Servlet 的基本概念 ### 1.1 Servlet 的生命周期 Servlet 的生命周期包含以下三个阶段: - 初始化阶段(init):当 Servlet 实例化后,Web 容器会调用其 init() 方法进行初始化操作。在此阶段,Servlet 可以执行一些初始化操作,例如读取配置信息、建立数据库连接等。 - 请求处理阶段(service):当客户端发来请求时,Web 容器会创建一个线程调用 Servlet 的 service() 方法处理请求。在此阶段,Servlet 可以获取请求参数、处理请求并生成响应数据。 - 销毁阶段(destroy):当 Web 应用停止或 Servlet 被卸载时,Web 容器会调用 Servlet 的 destroy() 方法进行清理工作。在此阶段,Servlet 可以释放资源、关闭数据库连接等。 ### 1.2 Servlet 的配置 在使用 Servlet 时,需要在 web.xml 文件中进行配置。以下是一个 Servlet 的基本配置: ```xml <servlet> <servlet-name>MyServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/myservlet</url-pattern> </servlet-mapping> ``` 其中,servlet-name 表示 Servlet 的名称,servlet-class 表示 Servlet 的类名,url-pattern 表示请求的 URL 匹配规则。 ## 二、Servlet 的使用方法 ### 2.1 编写 Servlet 编写 Servlet 有两种方法:一种是继承 HttpServlet 类,另一种是实现 Servlet 接口。这里以继承 HttpServlet 类为例: ```java public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 处理 GET 请求 PrintWriter out = resp.getWriter(); out.println("Hello, world!"); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 处理 POST 请求 PrintWriter out = resp.getWriter(); out.println("Hello, world!"); } } ``` 在 Servlet 中,doGet() 方法用于处理 GET 请求,doPost() 方法用于处理 POST 请求。通过调用 HttpServletResponse 对象的 getWriter() 方法可以向客户端返回响应数据。 ### 2.2 部署 Servlet 将编写好的 Servlet 部署到 Web 容器中,有两种方法:一种是将 Servlet 类打成 war 包放到 Web 容器的 webapps 目录下,另一种是通过 Eclipse 等开发工具将 Servlet 部署到 Web 容器中。部署完成后,可以通过访问 Servlet 的 URL 来测试 Servlet 是否正常工作。 ## 三、总结 本文介绍了 Servlet 的基本概念和使用方法。ServletJava Web 开发中非常重要的组件,掌握 Servlet 的使用方法对于 Java Web 开发人员来说是必不可少的。
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值