最新公告
  • 欢迎您光临极客文库,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • 为什么要编写一个通用Servlet呢?

    [v_notice]本节内容与项目无关,只是为了说明编写通用Servlet的目的以及实现,如果比较熟悉Javaweb了可以跳过[/v_notice]

    我们对数据做增删改查,需要多个Servlet,增删查各一个,改需要两个,一个模块就用了五个Servlet,如果我们这个项目也这样,那显然不合理。所以通过编写通用的Servlet,我们可以减少Servlet的数量。每次传递一个数据时可以提供一个额外的键值对,通过判断值的不同内容来判断要做什么事情。

    具体操作

    新建一个DynamicWebProject,在项目下建立index.html

    
    
    
    
    Insert title here
    
    
    
    
    用户

    删除学生

    新建一个包com.geekerstar.servlet,创建一个Servlet,ServletDemo01.java

    package com.geekerstar.servlet;
    
    import java.io.IOException;
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class ServletDemo01 extends HttpServlet {
    	private static final long serialVersionUID = 1L;
    	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		doGet(request, response);
    	}
    	
    	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		//获取客户端提交到服务端的method对应的值
    		String md=request.getParameter("method");
    		//定义变量,存放功能执行完毕之后要转发的路径
    		String path=null;
    		
    		//通过判断md中不同的内容来决定本次功能
    		if("addStu".equals(md)){
    			path=addStu(request, response);
    		}else if("delStu".equals(md)){
    			path=delStu(request, response);
    		}else if("checkStu".equals(md)){
    			path=checkStu(request, response);
    		}else if("".equals(md)){
    			
    		}
    		if(null!=path){
    			//服务端的转发
    			request.getRequestDispatcher(path).forward(request, response);
    		}
    		
    	}
    
    	protected String addStu(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		System.out.println("添加学生");
    		return "/test.html";
    		
    	}
    	protected String delStu(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		System.out.println("删除学生");
    		return "/test.html";
    		
    	}
    	protected String checkStu(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    		System.out.println("检查学生");
    		response.getWriter().println("DDDDDD");
    		return null;
    	}
    		
    }
    
    

    运行程序,可以执行对应的操作。

    总结

    原理:

    • 从客户端向服务端发起请求,每次都要传递额外的键值对的数据method=””
    • 服务端获取到method对应的内容之后,通过判断不同的内容调用不同的功能

    从客户端向服务端发起请求,调用功能方式:

    1. 通过表单向服务端发起请求
    2. 通过链接向服务端发起请求
    3. Ajax向服务端发起请求

    源码下载

    [dm href=’https://www.jikewenku.com/product/1700.html’]下载地址[/dm]

    本站所有文章均由网友分享,仅用于参考学习用,请勿直接转载,如有侵权,请联系网站客服删除相关文章。若由于商用引起版权纠纷,一切责任均由使用者承担
    极客文库 » Javaweb网上商城项目实战(2)通用Servlet实现-版本1

    常见问题FAQ

    如果资源链接失效了怎么办?
    本站用户分享的所有资源都有自动备份机制,如果资源链接失效,请联系本站客服QQ:2580505920更新资源地址。
    如果用户分享的资源与描述不符怎么办?
    可以联系客服QQ:2580505920,如果要求合理可以安排退款或者退赞助积分。
    如何分享个人资源获取赞助积分或其他奖励?
    本站用户可以分享自己的资源,但是必须保证资源没有侵权行为。点击个人中心,根据操作填写并上传即可。资源所获收益完全归属上传者,每周可申请提现一次。
    如果您发现了本资源有侵权行为怎么办?
    及时联系客服QQ:2580505920,核实予以删除。

    1 评论

    1. 为什么源码下载不了?1700.html进不去

    Leave a Reply

    Hi, 如果你对这款资源有疑问,可以跟我联系哦!

    联系发布者

    1 评论

    1. 为什么源码下载不了?1700.html进不去

    Leave a Reply

    Hi, 如果你对这款资源有疑问,可以跟我联系哦!

    联系发布者
    • 102会员总数(位)
    • 3674资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 136稳定运行(天)

    欢迎加入「极客文库」,成为原创作者从这里开始!

    立即加入 了解更多
    成为赞助用户享有更多特权立即升级