servlet的处理

s252718778 2011-08-09 02:22:17
项目用JSP+SERVLET+JAVABEAN
浅谈servlet的处理
是不是每个小业务(点击事件)都需要去建立一个servlet去处理吖.
酱紫,servlet不是会很多?
...全文
92 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
luohuijun619 2011-08-09
  • 打赏
  • 举报
回复
lz可以传参数嘛,根据不同的参数做不同的处理,就要少很多servlet
softroad 2011-08-09
  • 打赏
  • 举报
回复
从0开始学吧。自己写个简单的servlet玩玩吧。
s252718778 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 softroad 的回复:]
引用 4 楼 s252718778 的回复:

一年没摸过WEB了,
可以用一个servlet传送参数,根据参数来调用不同的方法,
这个跟struts有点相似,问题是怎么实现?


传参会不? if else会不?
[/Quote]
,,不会
s252718778 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 djyy3273 的回复:]
JSP+Servlet+javabean 模式下可以将同一类数据写到一个servlet,在这个servlet里写相应的处理方法 ,也可以针对每一个事件(就像你说的那样)写一个servlet ,别怕servlet数量会很多,这样业务逻辑比较的清晰.
[/Quote]
嗯,
softroad 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 s252718778 的回复:]

一年没摸过WEB了,
可以用一个servlet传送参数,根据参数来调用不同的方法,
这个跟struts有点相似,问题是怎么实现?
[/Quote]

传参会不? if else会不?
大灰兔 2011-08-09
  • 打赏
  • 举报
回复
JSP+Servlet+javabean 模式下可以将同一类数据写到一个servlet,在这个servlet里写相应的处理方法 ,也可以针对每一个事件(就像你说的那样)写一个servlet ,别怕servlet数量会很多,这样业务逻辑比较的清晰.
s252718778 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wenjie4892543 的回复:]
LZ 看看servlet的生命周期就会懂了,他是分为init();service();destroy();
[/Quote]
生命周期我懂的.
s252718778 2011-08-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 jijihahalala 的回复:]
可以弄个隐藏域标识所请求的方法,比如method=“add” 请求到同一个Servlet根据不同method调用相应的方法,如果嫌if else多可以写个BaseServlet 继承HttpServlet然后让你请求得Servlet继承BaseServlet

BaseServlet里可以这样写你参考下:


public class BaseServlet extends HttpSe……
[/Quote]
谢谢,今中午和同事聊到这东西,差不多就这样.
适用于相似的业务,可以抽取出来
夕水溪下 2011-08-09
  • 打赏
  • 举报
回复
看看那个叫head first系列的书
jijihahalala 2011-08-09
  • 打赏
  • 举报
回复
可以弄个隐藏域标识所请求的方法,比如method=“add” 请求到同一个Servlet根据不同method调用相应的方法,如果嫌if else多可以写个BaseServlet 继承HttpServlet然后让你请求得Servlet继承BaseServlet

BaseServlet里可以这样写你参考下:


public class BaseServlet extends HttpServlet {

@Override
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {


//执行父类的职责:根据请求是GET还是POST方法,调用doGet或doPost!
super.service(request, response);

}finally{

}

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
process(req,resp);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
process(req,resp);
}

protected void process(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

//首先获取方法参数
String method = request.getParameter("method");

//如果客户端不传递method参数,则默认调用execute()方法
if(method == null || method.trim().equals("")){
execute(request,response);
}else{
//根据method参数的取值,调用相关的方法
try {
Method m = this.getClass().getMethod(method, HttpServletRequest.class,HttpServletResponse.class);

//将请求转发到相应的方法中
m.invoke(this, request,response);
} catch (Exception e) {
e.printStackTrace();
}
}
}

protected void execute(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {

//什么也不做!
}


}
wenjie4892543 2011-08-09
  • 打赏
  • 举报
回复
LZ 看看servlet的生命周期就会懂了,他是分为init();service();destroy();
s252718778 2011-08-09
  • 打赏
  • 举报
回复
一年没摸过WEB了,
可以用一个servlet传送参数,根据参数来调用不同的方法,
这个跟struts有点相似,问题是怎么实现?
wzw102936810 2011-08-09
  • 打赏
  • 举报
回复
参考struct的处理
dt510_123 2011-08-09
  • 打赏
  • 举报
回复
一般在页面就处理了
softroad 2011-08-09
  • 打赏
  • 举报
回复
可以用一个servlet床送参数,根据参数来调用不同的方法。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧