JavaWeb网上图书商城完整项目--BaseServlet

1、以前进行操作的时候,例如我们进行登陆操作我们使用LoginServlet进行处理,进行注册操作我们使用RegisterServlet,很多业务的操作的时候我们就要定义很多个Servlet

有了BaseServlet我们可以把业务操作都放在一个Servlet中进行处理

通常,写一个项目可能会出现N多个Servlet,而且一般一个Servlet只有一个方法(doGet或doPost),如果项目大一些,那么Servlet的数量就会很惊人。为了避免Servlet的“膨胀”,我们写一个BaseServlet。它的作用是让一个Servlet可以处理多种不同的请求。不同的请求调用Servlet的不同方法。我们写好了BaseServlet后,让其他Servlet继承BaseServlet,例如CustomerServlet继承BaseServlet,然后在CustomerServlet中提供add()、update()、delete()等方法,每个方法对应不同的请求。并且每个方法放回一个字符串,指出它重定向或转发请求的路径,BaseServlet获得这个路径,再帮助子类转发请求或重定向到特定的页面。 
见下图: 
这里写图片描述 


我们知道,Servlet中处理请求的方法是service()方法,这说明我们需要让service()方法去调用其他方法。例如调用add()、mod()、delele()、findAll()等方法!具体调用哪个方法需要在请求中给出方法名称!然后service()方法通过方法名称来调用指定的方法。 

 

1、第一我们要创建的servlet必须继承BaseServlet

 

我们来看下程序的代码:

package com.weiyuan.test;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.itcast.servlet.BaseServlet;

/**
 * Servlet implementation class ListServlet
 */
@WebServlet("/ListServlet")
public class ListServlet extends BaseServlet  {
    private static final long serialVersionUID = 1L;
       
    public String login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("login is called");
        return"f:/index.jsp";
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("doGet is called");
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        System.out.println("doPost is called");
    }

}

我们客户端如果要访问login这样业务操作必须写成:

写成这样会报错http://localhost:8080/BaseServlet/ListServlet

 

必须写上你要访问的方法

http://localhost:8080/BaseServlet/ListServlet?method=login

如何要增加注册业务操作:只需要在定义

public String register(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        System.out.println("login is called");
        return"f:/index.jsp";
    }

/**

     * 请求处理方法的参数都与doGet()和doPost()相同,即request和response

     * 但请求处理方法有String类型的返回值,而doGet()和doPost()没有返回值。

     * 在请求本方法时需要给出method=regist参数!

     */

BaseServlet中的请求处理方法有一个String类型的返回值,返回值表示转发或重定向的目标页面。例如:

l  f:/index.jsp:其中f:表示转发,即forward的意思,/index.jsp表示转发到/index.jsp页面;

l  r:/index.jsp:其中r:表示重定向,即redirect的意思,/index.jsp表示重定向到/index.jsp页面。

l  null:表示不转发也不重定向;

转载于:https://www.cnblogs.com/kebibuluan/p/6781185.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于java web实现的一个图书商城源码+设计报告+sql数据库 该资源内项目源码是个人的课设,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到94.5分,放心下载使用! 该资源适合计算机相关专业(如人工智能、通信工程、自动化、软件工程等)的在校学生、老师或者企业员工下载,适合小白学习或者实际项目借鉴参考! 当然也可作为毕业设计、课程设计、课程作业、项目初期立项演示等。如果基础还行,可以在此代码基础之上做改动以实现更多功能。 基于java web技术实现的一个图书商城,分为管理员和普通用户,可注册登陆,可上传修改图书系统,用户可下单。 #使用方法 1、先执行数据库sql文件 2、修改数据库连接账号密码 3、eclipse安装服务器 4、运行 1.功能要求 1)前端功能 图书的分类展示; 图书详情 图书搜索 订单详情(购物车) 登录与注册 注意:注册用户可以购买商品,非注册用户仅可以浏览、查询商品 2)后端功能 用户管理:分普通用户和管理员两类;管理员可以禁用普通用户帐号、查看普通用户的订单信息;可以添加、修改和删除其他管理员帐号; 图书管理:管理员对图书信息的添加、修改、删除和查询功能,包括图书详细信息、图片上传等。 2.技术要求 1)基于Java Web开发技术,并使用MVC开发模式实现;数据库使用mysql; 2)知识点应用:[1]项目创建;代码调试;[2]JSP基础语法;[3]内置对象使用;[4]合理使用Javabean;[5]理解和掌握servlet;[6]理解和掌握MVC开发模式;[7]掌握在JSP中操作数据库的方法;[8]掌握JSTL核心标签库的使用;[9]前端基础知识的综合应用。 一、 整体设计 3 1.1系统结构 3 1.2系统功能结构图 3 1.2.1用户功能结构图 3 1.2.2管理员功能结构图 4 1.3数据JavaBean总体设计 4 二、数据库设计 4 2.1E-R图 4 2.2设计原理 5 三、详细设计 5 3.1用户功能模块设计 5 3.1.1主页设计 5 3.1.2商品详情设计 8 3.1.3购物车设计 11 3.1.4订单展示设计 14 3.2管理员功能模块设计 16 3.2.1登陆模块设计 16 3.2.2主页模块设计 18 四、结果展示 18 4.1用户展示 18 4.2管理员展示 22
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值