怎么在一个servlet中实现多个功能 ?如何使一个Servlet处理多个请求?
自学javaweb一直不知道一个servelt可以有多个功能!看了别人代码才知道这个可以有!
平时你建立servelt时候你会吧doget和dopost这两个勾上,要想实现多个功能,你不必要勾选doget和dopost方法只勾选service即可!此时你复写service方法就行!
你不写doget和dopost,写service ,这个servelt被调用会先执行service ,即使你同时写了post和get和service调用这个servelt也会先调用service方法!service不管何时就会被先调用!
下面是一个简单的例子(简单的过分)!!!!
就是一个登陆和注册用同一个servelt怎么实现?
大白话 意思就是jsp页面在写的时候传入一个值在servelt页面根据传入的值的不同调用不同的方法,selvelt 里面写所有你想写的方法!!!不清楚看代码!!!小例子别指望直接运行
先说jsp代码:
这里面有一些ajax代码,不用关注这些细节,意思就是登陆使用了ajax发送到servelt中的(当然只要你能传值过去就行,不管用什么),注册按钮使用了form表单提交,其实思路很简单就是这两个按钮被点击跳转页面时分别传入了一个让服务器知道调用哪个方法的参数,这个你随便定义你传1或2都行,传过去你要分的清楚。
<html>
<head>
<script type="text/javascript" src="${pageContext.request.contextPath}/scripts/jquery-3.3.1.js"></script>
<script type="text/javascript">
function tiJiao(){
var username = $("#username").val();//获取登录的名字
var password = $("#password").val();//获取登陆的密码
if(username == null || username.length == || password == null || password.length == ){
alert("填写不完整");//判断是不是账号密码为空!
return false;} var url="${pageContext.request.contextPath}/all";//这个地址是你要判断用户是否存在的后台
var args={"method":"login","username":username,"password":password,"time":new Date()};//这个参数是把编辑框里的内容传过去给后台了
$.post(url,args,function(data){$("#message").html(data);});//登录按钮被点击使用ajax传值到后台传值login
}
</script>
</head>
<body>
<form action="${pageContext.request.contextPath}/all?method=zhuce" method="post">//注册按钮被点击使用form表单提交传值zhuce
<div align="center"> 账号:<input type="text" id="username" name="username" style="width:200px; height:25px;" ><label id="message"></label></div><br>
<div align="center">密码:<input type="password" id="password" name="password" style="width:200px; height:25px;"></div>
<div align="center"><input type="button" value="登陆" onclick=" tiJiao()" style="width:70px; height:30px;" />
<input type="submit" value="注册" style="width:70px; height:30px;" />
</div>
</form>
</body>
</html>
servelt代码...................................................................................................................................................................................................
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String method=request.getParameter("method");//得到传入的值下面根据传入的值执行不同的方法!!
System.out.println("method"+method);
if(method.equals("login"))
{
login(request, response);//执行login代码
}
else {
zhuce(request, response);//执行注册代码
}
}
private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
//这里写有关登录的代码
}
private void zhuce(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
//这里写有关注册的代码
}
}
怎么在一个servlet中实现多个功能 ?如何使一个Servlet处理多个请求?的更多相关文章
- Servlet中实现多个功能案例
如何实现一个Servlet中的多个功能 前言:唉,打脸了,前脚刚说过要跟Servlet正式告别,后脚这不又来了,哈哈,总结出一点东西,纠结了一下还是做个分享吧,学习知识比面子重要,对吧,下回再也不约S ...
- Servlet中以HashMap存放临时变量,解决跳转新页面请求参数过多时浏览器地址栏超长
具体使用方法如下: 1.在跳转之前将需要的参数串encodeURIComponent后作为参数value,UUID作为key一起POST到Servlet保存到HashMap中: 2.在Servlet发 ...
- Servlet中的Filter怎么使用?
一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例如Jsp, Servlet, 静态 ...
- Servlet规范简介——web框架是如何注入到Servlet中的
Servlet规范简介--web框架是如何注入到Servlet中的 引言 Web框架一般是通过一个Servlet提供统一的请求入口,将指定的资源映射到这个servlet,在这个servlet中进行框架 ...
- 关于Servlet中重定向
public class Red1Servlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpSer ...
- servlet中的“/”代表当前项目,html中的“/”代表当前服务器
servlet中重定向或请求转发的路径如果用“/”开头,代表当前项目下的路径,浏览器转发这条路径时会自动加上当前项目的路径前缀,如果这个路径不是以“/”开头,那么代表这个路径和当前所在servlet的 ...
- servlet中调用注入spring管理的dao(转)
今天做大型仪器的的时候遇到的问题,转下为了以后能用 http://blog.csdn.net/jiyingying_up/article/details/44803585 我们用spring的依赖注入 ...
- Servlet中的一些注意事项
servlet中的一些注意事项 1 什么是servlet? 1)Servlet是Sun公司制定的一套技术标准,包含与Web应用相关的一系列接口,是Web应用实现方式的宏观解决方案.而具体的Servle ...
- 对于Servlet、Servlet容器以及一个Servlet容器-Tomcat
Servlet.Servlet容器等内容讲解 转载自http://blog.csdn.net/iAm333 对于Servlet.Servlet容器以及一个Servlet容器-Tomcat这些概念讲解的 ...
随机推荐
- VS2010解决闪退的方法
VS2010解决闪退的原因 前言 在利用vs2010编译器进行编写程序的时候程序结果无法看到,针对上述问题有如下两个解决方法: 方法1. 在程序结束之前(return之前)加 system(&quo ...
- Caffe2官方使用手册翻译
详细教程见点击这里 http://www.jianshu.com/c/cf07b31bb5f2
- [易语言][ExDui][Tutorial]0.Hello,world!
原创博客,请勿在未经授权的情况下转载. At the Beginning... 由于近期爱好摸鱼,并且对Gui开发萌生一丝兴趣.在尝试WPF被虐,使用Qt却不太喜欢整套庞大的框架后-- I choos ...
- SpringBoot开发环境要求
JDK 截止到目前Spring Boot 的最新版本:2.1.8.RELEASE 要求 JDK 版本在 1.8 以上,所以确保你的电脑已经正确下载安装配置了 JDK(推荐 JDK 1.8 版本). 构 ...
- 086、Java数组之对象数组的动态初始化
01.代码如下: package TIANPAN; class Book { private String title; private double price; public Book(Strin ...
- Myeclipse 安装时候android adt, android sdk常见问题
离线版adt安装 可以随意百度adt下载 安装时候注意断网模式,否则会连接到服务器耗费很长时间:如果安装报错,可能是adt与Myeclipse版本不匹配,如我用的是Myeclipse8.6,安装AD ...
- 条形码识别手持终端(PDA)人们每日触碰的科技
时尚达人的你,收快递物流时,毫无疑问在有时会好奇心,派送员腰部取出的那把“扫枪”,轻轻地一扫后,给你打开享有开拆快递物流的开心時刻.老湿机的你,是否会突然发觉,泊车交费时收费员哥哥已不找你许多零钱,只 ...
- List循环添加数据覆盖问题
问题:java开发时,当我们使用List.add();循环添加数据,有时会出现前面添加的数据会被后面覆盖的现象.这是怎么回事尼? 会覆盖数据的代码 package com.boot.test; imp ...
- JuJu团队12月28号工作汇报
JuJu团队12月28号工作汇报 JuJu Scrum 团队成员 今日工作 剩余任务 困难 飞飞 完成GUI 待安排 无 婷婷 调试代码 提升acc 无 恩升 修正evaluate 修正evalu ...
- C++ 11 :override 关键字的使用
override 关键字 作用:在成员函数声明或定义中, override 确保该函数为虚函数并覆写来自基类的虚函数. 位置:函数调用运算符之后,函数体或纯虚函数标识 "= 0" ...