怎么样让一个servlet处理很多的业务逻辑

    实际上,一个servlet可以处理相关的业务逻辑,当然这些业务逻辑也可以单独的分别写,也就是一个业务逻辑写一个servlet,但这样会增加servlet的数量,影响开发效率,如果采用高效率的处理方法,就可以简化,增加开发效率。

 

   例如,一个博客系统中有关博文的操作很多,增加博文,删除博文,修改博文等业务逻辑,当然可以分别写相应处理这样的servlet,但采取用一个servlet处理更方便。 方法:可以从jsp隐含的传来一个“method”的属性,当jsp提交表单的时候,servlet会根据隐含的属性来判断调用servlet的哪个方法,然后进行相应的处理。

 

    简单的代码如下: jsp 表单代码:

 

<form id="form1" name="form1" method="post" action="<%=request.getContextPath() %>/servlet/BlogServlet">  //注意:这里不要添加?method=addBlog
<input type="hidden" name="method" value="addBlog" /> 
  <table width="678" border="0" cellpadding="0" cellspacing="3">
    <tr>
      <td width="51">标题:</td>
      <td width="618"><label for="title"></label>
      <input type="text" name="title" id="title" /></td>
    </tr>
    <tr>
      <td>类别:</td>
      <td><label for="select"></label>
        <select name="select" size="1" id="select">
          <option value="1">心情</option>
          <option value="2">旅游</option>
      </select></td>
    </tr>
    <tr>
      <td>内容:</td>
      <td><label for="content"></label>
        <label for="textarea"></label>
        <label for="content"></label>
      <textarea name="content" cols="80" rows="20" id="content"></textarea></td>
    </tr>
    <tr>
      <td><input type="reset" name="button" id="button" value="重置" /></td>
      <td><input type="submit" name="button2" id="button2" value="提交" /></td>
    </tr>
     </table>
</form> 

 

 

 

servlet代码如下:

 

public void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  request.setCharacterEncoding("UTF-8");
  String method = request.getParameter("method");

  if (method.equals("addBlog")) {
   addBlog(request, response);
  }

 

 

public void addBlog(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  request.setCharacterEncoding("UTF-8");
  String title = request.getParameter("title");
  String content = request.getParameter("content");
  String sql = "insert into blog (title,content,createdtime) value(?,?,now())";
  String params[] = { title, content };
  QueryRunner qr = DbHelper.getQueryRunner();
  int result = 0;
  try {
   result = qr.update(sql, params);
  } catch (SQLException e) {
   e.printStackTrace();
  }

  

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值