Servlet中Service方法
首先将上周没有讨论完的Service方法继续讨论完,上周的博客中提到了doGet方法只能处理Get方式提交的请求,而doPost则可以处理Post方式提交的请求,现在来说一种既可以处理Get方式又可以处理Post方式的提交的请求,它就是Service方法。
说到这个地方,我还是要说一段插曲,现在第一阶段的学习结束的钟声快要敲响,到现在为止,我是不是应该估量一下8500的学费到底买回了些什么东西?我估量的结果是我买回了自己的自信,现在我知道作为一名合格的Java程序员所必须要学的东西。这是我最大的收获。不说废话了,继续下面Service方法的讨论。
service方法用来处理客户端浏览器直接访问和表单以get方式提交以及表单以post方式提交的情况。
首先说表单的写法(这里说的是常规写法):
<form action="ServiceDemo" method="post">
用户名:<input type="text" name="username"/><br>
密码:<input type="password" name="password"/><br>
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</form>
相对应的Servlet写法(因为篇幅问题,我省略了包导入语句):
public class ServiceDemo extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
request.setCharacterEncoding("gb2312");
String username = request.getParameter("username");
String password = request.getParameter("password");
out.println("<html>");
out.println("<body>");
out.println("用户名:" + username + "<br>");
out.println("密码:" + password);
out.println("</body>");
out.println("</html>");
}
}
其实,这个service方法的用法与前面的doGet与doPost方法的用法完全一样,它实现了对这两种提交方式的处理,只要在代码中实现了这个方法,具体的调用过程由Web容器去处理。
需要说明的是现在很多人都不这样写,而是直接写两个方法,即:doGet与doPost,在其中任意一个方法中调用上一种方法来完成对两种提交方式的处理,这种做法除了增加代码的可读性之外其余我还没有看到有什么优点可言。
分享到:
相关推荐
(1)建立项目,创建Servlet,并在Web.xml中进行配置; (2)新增Service包,创建Servicve服务类,供Servlet调用,实现业务功能; (3)对数据库的增删改查操作进行封装,提供统一的访问对象DAO类; (4)以用户注册...
在这个项目中,Servlet充当了控制器的角色,接收前端发送的HTTP请求,调用相应的Service层方法处理业务逻辑,然后将结果返回给前端。例如,`AddServlet`用于处理添加记录的请求,`DeleteServlet`则处理删除操作。 2...
这是一个基于Web的博客系统,它集成了DAO(数据访问对象)、Servlet、Service和VO(值对象)等核心组件,用于实现完整的CRUD(创建、读取、更新、删除)操作。该系统使用MySQL作为后端数据库,提供了方便的数据存储...
- **首页(显示所有用户)**:Servlet获取所有用户信息,通常通过Service层调用DAO的查询方法。然后,这些信息被传递给JSP页面进行展示。 - **修改页面**:用户可以编辑自己的信息,Servlet接收更新请求,Service层...
这个"crm项目jsp+servlet+service+dao"是一个基于Java技术实现的CRM系统实例,旨在帮助学习者理解如何在实际开发中运用这些技术。下面将详细阐述这个项目中涉及的关键知识点。 1. JSP(JavaServer Pages):JSP是...
Service层是业务逻辑的载体,通常包含多个业务方法,如`UserService`中的`addUser()`和`updateUser()`。这些方法负责对数据进行合法性检查、事务管理等复杂操作。Service层与DAO(数据访问对象)层交互,获取或更新...
该Servlet将调用LoginDao中的方法来验证用户提供的信息是否正确。 - **注册请求**: 用户填写完注册表单并提交后,数据同样会被发送到服务器端的一个Servlet。这个Servlet将调用ZhuceDao中的方法来处理新用户的注册。...
Servlet接口是所有Servlet类的基础,它定义了Servlet生命周期中的关键方法: 1. `void init(ServletConfig config) throws ServletException`:这是Servlet的初始化方法,当Servlet容器(如Tomcat)加载Servlet时...
然后,每次请求都会调用Servlet的`service()`方法来处理。当服务器关闭或Servlet不再需要时,会触发Servlet的销毁过程。 三、Servlet接口与实现类 Servlet API中最基础的接口是`javax.servlet.Servlet`,但实际开发...
Servlet容器(如Tomcat)会在第一次请求时加载Servlet并调用init()方法,之后每次请求都会调用service()方法,最后在容器关闭或Servlet不再需要时调用destroy()方法。 5. **Servlet配置**:Servlet的配置通常在web....
**作用:** 当Servlet从服务中移除时,Servlet容器会调用此方法来释放Servlet占用的资源。此方法通常用于清理资源、关闭数据库连接等操作。 **注意事项:** - `destroy`方法只能在所有与`service`方法相关的线程...
在这个项目中,Servlet作为Controller的角色,接收用户的请求,调用Service层的方法处理业务,然后将结果转发给JSP页面展示。 5. **JSP(JavaServer Pages)**: JSP是动态网页技术,用于生成HTML或XML等格式的Web...
在标题“servlet的三种方法的实现”中,提到了实现Servlet功能的三种常见方式,分别是: 1. **实现Servlet接口** Servlet接口是Java Servlet API中的核心接口,它定义了Servlet的基本行为。当你选择直接实现...
- **创建Service层**:在Service层中调用DAO方法,处理业务逻辑。 - **Servlet处理请求**:Servlet接收用户请求,调用Service层方法,然后返回结果。 - **使用AJAX发送异步请求**:在JSP页面中,使用JavaScript(如...
首先,让我们了解Servlet生命周期中的主要方法: 1. **init()**:Servlet初始化时调用此方法。在Servlet实例化后,容器(如Tomcat)会调用此方法进行初始化操作。开发者可以在这里进行配置加载、资源绑定等一次性...
【标题】"servlet+service+mybatis实践3"揭示了一个关于Java Web开发中的实际应用,其中使用了Servlet、Service层以及MyBatis框架来处理针对"zyy表"的CRUD(创建、读取、更新和删除)操作。这个项目可能是为了帮助...
在这个名为"Servlet使用MVC模式(Dao\Service\Servlet)增删查改"的小程序中,我们将深入探讨如何利用这些组件来实现对MySQL数据库的操作。 **模型(Model)** 模型层是应用程序的核心,负责处理业务逻辑和数据访问...
1. `Servlet`接口:定义了Servlet的基本方法,如init(), service(), destroy()。 2. `GenericServlet`:抽象类,实现了Servlet接口,提供通用的序列化和多线程支持。 3. `HttpServlet`:继承自GenericServlet,提供...