这几天在学习Extjs中,需要用到后台与前台作数据交互,所以用了简单的servlet作后台业务处理,基于此,扩展了一下servlet的设计.
下面是JAVA代码:
package com.zwr.app.servlet;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.zwr.app.model.WebSiteModel;
import com.zwr.app.util.RequestParamUtil;
/**
* extjs前台AJAX与后台交互测试Servlet
*
* @author zhu wei rong
* @since 2008-08-25
*/
@SuppressWarnings( { "serial", "unused" })
public class UserServlet extends HttpServlet {
private final String encoding = "utf-8";
private HttpServletRequest request;
private HttpServletResponse response;
protected void doBusiness() throws ServletException, IOException {
String method = request.getParameter("method");
if (method.equals("save")) {
doSave();
} else if (method.equals("list")) {
doList();
}
}
/**
* 测试grid分页显示数据,所有数据以json格式在JSP页面显示
*/
private void doList() throws ServletException, IOException {
int start = RequestParamUtil.getIntParam(request, "start", 0);
int limit = RequestParamUtil.getIntParam(request, "limit", 0);
String sort = RequestParamUtil.getParam(request, "sort", null);
String dir = RequestParamUtil.getParam(request, "dir", null);
System.out.println(start + "\t" + limit + "\t" + sort + "\t" + dir);
List<WebSiteModel> list = new ArrayList<WebSiteModel>();
for (int i = 1; i <= 10; i++) {
WebSiteModel model = new WebSiteModel();
model.setId(i);
model.setName("站点_" + i);
model.setUrl("url--" + i);
list.add(model);
}
int totalCount = list.size(); // 总数
request.setAttribute("count", totalCount);
request.setAttribute("entites", list.subList(start, (start + limit) < totalCount ? (start + limit) : totalCount));
forward("/scripts/app/data.jsp");
}
private void doSave() throws ServletException, IOException {
String name = request.getParameter("name");
String password = request.getParameter("password");
System.out.println("前台AJAX传递过来的参数:\t" + name + "\t" + password);
forward("/");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding(encoding);
response.setCharacterEncoding(encoding);
this.request = request;
this.response = response;
doBusiness();
}
@Override
protected void doPost(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
this.doGet(arg0, arg1);
}
public void forward(String url) throws ServletException, IOException {
getServletContext().getRequestDispatcher(url).forward(request, response);
}
}
分享到:
- 2008-09-01 11:17
- 浏览 1098
- 评论(6)
- 论坛回复 / 浏览 (6 / 3215)
- 查看更多
相关推荐
### HttpServlet 详解 ...通过对`HttpServlet`的学习和理解,开发者可以更好地利用其提供的功能来提高Web应用的性能和可维护性。希望本文档能够帮助读者深入掌握`HttpServlet`的核心概念和技术细节。
本压缩包文件提供了对这三种Servlet的源码分析,对于深入理解Servlet的工作原理和扩展自定义功能至关重要。 首先,Servlet是Java Servlet API的核心接口,它定义了Web服务器与Java应用程序之间的通信规范。Servlet...
1. **Servlet**:Servlet是Java编程语言中用来扩展服务器功能的接口。HttpServlet是Servlet的一个子接口,专门用于处理HTTP协议的请求。在用户登录场景中,HttpServlet负责接收来自客户端(浏览器)的HTTP请求,执行...
Servlet主要用于处理HTTP请求,而Filter则用于对请求和响应进行预处理或后处理。在这个最简单的实例中,我们将深入理解这两种技术以及如何在实际项目中应用它们。 **Servlet** Servlet是一种Java类,它扩展了...
Servlet是Java编程语言中的一个接口,由Java Servlet API提供,用于扩展服务器的功能。本项目是一个简单的HTTP应用示例,旨在帮助理解如何使用Http Servlet进行开发。 1. **Servlet生命周期**:Servlet的生命周期...
在第4章中,你可能会学习如何创建Servlet,配置web.xml文件来映射URL到Servlet,以及如何使用HttpServlet类处理GET和POST请求。 JSP则是另一种用于生成动态网页的技术,它允许开发者在HTML页面中嵌入Java代码。JSP...
数据结构课程教学网站的设计与实现涉及了多个IT知识领域,包括网站设计的技术选型、功能需求分析、数据库的建立以及用户安全认证等方面。下面将详细阐述这些知识点。 一、网站设计的技术选型与实现 数据结构课程...
- **Web建模与UML扩展机制**:Web建模是UML扩展机制的一种应用形式,可以通过自定义版型来满足特定领域的建模需求。开发者可以根据实际需要创建新的版型,进一步增强UML的表达能力。 #### 三、毕业设计管理系统的...
Servlet通过实现Servlet接口或继承HttpServlet类来扩展其功能,常见的请求处理方法有doGet和doPost。Servlet的生命周期包括加载、初始化、服务、销毁四个阶段,这使得开发者可以在不同阶段进行特定的操作。 JSP...
设计模式提供了一种标准的、可重用的方法来组织代码,提高可读性、可维护性和可扩展性。以下是Java Web开发中常见的一些设计模式及其详细解释: 1. **单例模式**:保证一个类只有一个实例,并提供全局访问点。在...
1. **Servlet**:Servlet是Java编程语言中用于扩展服务器功能的接口。在学生成绩管理系统中,Servlet用于处理HTTP请求,比如登录验证、成绩录入、查询等操作。Servlet通过继承HttpServlet类并重写doGet或doPost方法...
1. **Servlet**:Servlet是JavaWeb的核心,它是一个Java类,用于扩展服务器的功能。Servlet可以处理HTTP请求,生成响应,并与数据库进行交互。在源码中,你可能会看到`HttpServlet`类的子类,它们覆盖`doGet`和`...
【推选】JSP程序设计PPT资料...与CGI相比,Servlet在性能、可移植性、持久性和可扩展性方面具有显著优势,因此在现代Web开发中被广泛使用。学习和掌握这些知识点,将有助于提升开发者构建高效、稳定的Web应用的能力。
根据提供的文件信息,我们可以分析并总结出以下与“设计用线构4位验证码”相关的知识点: ### 一、概述 **设计用线构4位验证码**通常是指在进行UI/UX设计时,为了模拟真实环境中的用户验证流程而创建的一种简易的...
《JavaEE原生Servlet_MySql网络考试系统的设计与实现》 在当今信息化时代,网络考试系统的开发已经成为教育领域不可或缺的一部分。本项目基于JavaEE技术,利用原生Servlet和MySql数据库,旨在构建一个高效、稳定的...
### Struts框架精讲:基于MVC的Java Web设计与开发 #### 一、Struts框架简介 **Struts**是Apache基金会支持的一个开源项目,它是一个用于开发Java Web应用程序的MVC(Model-View-Controller)框架。Struts简化了...
通过对设计模式的学习和掌握,开发者可以编写出更加健壮、可扩展和易于维护的代码。在本章中,我们介绍了设计模式的基本概念,分类以及单例模式的实现方式。未来章节将继续深入探讨其他的设计模式及其应用场景。
Servlet通过HttpServlet类进行扩展,并覆盖doGet和doPost方法来处理HTTP请求。理解Servlet配置、过滤器(Filters)和监听器(Listeners)的概念也是学习的关键。 3. 图形用户界面(GUI) 在Java中,我们可以使用...
Servlet通过HttpServlet类的doGet和doPost方法来响应GET和POST请求,实现了与JSP的协同工作。 三、MySQL数据库 MySQL是一款流行的开源关系型数据库管理系统,适合于处理大量数据。本项目中,MySQL用于存储图书信息...