zoukankan      html  css  js  c++  java
  • Java Web 网络留言板5 (javaBean技术)

    addMessage.jsp

    代码;

    <%@ page language="java" contentType="text/html; charset=UTF-8"%>
    <%@ include file="/header.jsp"%>
    <style>
    * { font-family: "宋体"; font-size: 14px }
    </style>
    <script type="text/javascript" src="<%=context%>/js/validation-framework.js"></script>
    <script type="text/javascript" src="<%=context%>/fckeditor/fckeditor.js"></script>
    <p align="center">
     请您输入留言
    </p>
    <p align="center">
     <a href="<%=context%>/servlet/getMessages">查看留言</a>
    </p>
    <form id="form1" name="form1" method="post"
     action="<%=context%>/servlet/addMessage"   

     

    *****************************************************************************

    *****************************************************************************

    *****************************************************************************

     说明:<%=context%>/servlet/addMessage中的<%=context%>这个是获得整个web项目的                                 

    的名字,如项目名称为:guestbook6,那么action="<%=context%>/servlet/addMessage"                                 

    就等价于action="guestbook6/servlet/addMessage",使用这种方法的好处在那里呢?

    就在于对于修改项目名称的灵活性,比如:现在,我们觉得我们必须得修改我们的项目名称,

    如修改为:guestbook7,如果我们不是用的是这种方法的话,当然也可以,只是我们要修改所有涉及到

    项目名称的地方,这不免给我们造成很大的时间开销。但是如果我们使用这种方式,即便我们修改了项目名称,

    丝毫不会影响我们的项目的运行。这就是他的好处之所在了。

    可以大大给我们节约时间。

    *****************************************************************************

    *****************************************************************************

    *****************************************************************************

                      
     onsubmit="return doValidate(this)">
     <table width="650" height="400" border="0" align="center">
      <tr>
       <td width="150">姓名:</td>
       <td width="500">
        <input name="name" type="text" id="name" size="40" maxlength="20" />
       </td>
      </tr>
      <tr>
       <td>E-Mail:</td>
       <td>
        <input name="email" type="text" id="email" size="40" maxlength="40" />
       </td>
      </tr>
      <tr>
       <td>电话:</td>
       <td>
        <input name="phone" type="text" id="phone" size="40" maxlength="20" />
       </td>
      </tr>
      <tr>
       <td>主题:</td>
       <td>
        <input name="title" type="text" id="title" size="80" maxlength="80" />
       </td>
      </tr>
      <tr>
       <td valign="top">内容:</td>
       <td>
        <script type="text/javascript">
        var oFCKeditor = new FCKeditor("content");
        oFCKeditor.BasePath = '<%=context%>/fckeditor/' ;
        oFCKeditor.Height = 300 ;
        oFCKeditor.ToolbarSet = 'Basic';
        oFCKeditor.Create() ;
        </script>
       </td>
      </tr>
      <tr>
       <td></td>
       <td>
        <input type="submit" name="Submit" value="提交" />
        <input type="reset" name="Reset" value="重置" />
       </td>
      </tr>
     </table>
    </form>
    <%@ include file="/footer.htm"%>

    AddMessageServlet.java

    代码:

    package webbook.guestbook;

    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import javax.servlet.ServletException;
    import javax.servlet.http.*;
    import webbook.util.*;

    public class AddMessageServlet extends HttpServlet {
     private static final long serialVersionUID = -8349454122547148005L;

     public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      String sql = "insert into guestbook (id,name,email,phone,title,content,time) values(gb_seq.nextval,?,?,?,?,?,?)";
      int result = 0;
      String message = "";
      request.setCharacterEncoding("utf-8");
      String name = request.getParameter("name");
      String title = request.getParameter("title");

      if (StringUtil.validateNull(name)) {
       message = "对不起,姓名不能为空,请您重新输入!<br>";
      } else if (StringUtil.validateNull(title)) {
       message = "对不起,主题不能为空,请您重新输入!<br>";
      } else {
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
       String param[] = { StringUtil.filterHtml(name), StringUtil.filterHtml(request.getParameter("email")),
         StringUtil.filterHtml(request.getParameter("phone")), StringUtil.filterHtml(title),
         request.getParameter("content"), sdf.format(new java.util.Date()) };
       OracleUtil db = new OracleUtil("java:/comp/env/jdbc/oracleds");
       db.init();
       result = db.update(sql, param);
       if (result == 0) {
        message = "对不起,添加留言不成功,请您重新输入!<BR>";
       } else {
        message = "祝贺您,成功添加留言。<BR>";
       }
      }
      request.setAttribute("message", message);
      request.getRequestDispatcher("/addResult.jsp").forward(request, response);
     }
    }

    addResult.jsp

    代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"%>
    <%@ include file="/header.jsp" %>
    <style>
    * { font-family: "宋体";font-size: 14px}
    </style>
    <%=request.getAttribute("message")%>
    <a href="<%=context %>/addMessage.jsp">添加新的留言</a><BR>
    <a href="<%=context %>/servlet/getMessageServlet">查看所有留言内容</a><BR>
    <%@ include file="/footer.htm"%>

    GetMessageServlet.java

    代码:

    package webbook.guestbook;

    import java.io.IOException;
    import java.util.List;
    import javax.servlet.ServletException;
    import javax.servlet.http.*;
    import org.apache.commons.dbutils.handlers.BeanListHandler;
    import webbook.util.OracleUtil;

    public class GetMessagesServlet extends HttpServlet {
     private static final long serialVersionUID = 5964428201228635704L;

     public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
      String sql = "select * from guestbook order by id desc";
      List list = null;
      OracleUtil db = new OracleUtil("java:/comp/env/jdbc/oracleds");
      db.init();
      list = (List) db.query(sql, null, new BeanListHandler(Guestbook.class));
      HttpSession session = request.getSession();
      session.setAttribute("results", list);
      response.sendRedirect("/guestbook6/getMessages.jsp");
     }
    }

    getMessages.jsp

    代码:

    <%@ page language="java" contentType="text/html; charset=UTF-8"%>
    <%@page import="webbook.guestbook.Guestbook"%>
    <%@ include file="/header.jsp"%>
    <style>
    * {font-family: "宋体";font-size: 14px}
    </style>
    <center>
     <a href="<%=context%>/addMessage.jsp">添加新的留言内容</a><br>
     留言内容<br><br>
     <%
      List list = (List)session.getAttribute("results"); 
      if(list!=null){
      for (int i = 0; i < list.size(); i++) {
       Guestbook gb = (Guestbook) list.get(i);
     %>
     <table width="600" border="1" bordercolor="000000"
      style="table-layout: fixed; word-break: break-all">
      <tr>
       <td width="100" bordercolor="ffffff">
        编号:
       </td>
       <td width="500" bordercolor="ffffff"><%=gb.getId()%></td>
      </tr>
      <tr>
       <td bordercolor="ffffff">
        姓名:
       </td>
       <td bordercolor="ffffff"><%=gb.getName()%></td>
      </tr>
      <tr>
       <td bordercolor="ffffff">
        电话:
       </td>
       <td bordercolor="ffffff"><%=StringUtil.chanageNull(gb.getPhone(), "没填")%></td>
      </tr>
      <tr>
       <td bordercolor="ffffff">
        email:
       </td>
       <td bordercolor="ffffff"><%=StringUtil.chanageNull(gb.getEmail(), "没填")%></td>
      </tr>
      <tr>
       <td bordercolor="ffffff">
        主题:
       </td>
       <td bordercolor="ffffff"><%=gb.getTitle()%></td>
      </tr>
      <tr>
       <td valign="top" bordercolor="ffffff">
        内容:
       </td>
       <td valign="top" bordercolor="ffffff"><%=StringUtil.chanageNull(gb.getContent(), "没填")%></td>
      </tr>
      <tr>
       <td bordercolor="ffffff">
        时间:
       </td>
       <td bordercolor="ffffff"><%=gb.getTime()%></td>
      </tr>
     </table>
     <br>
     <%}}%>
    </center>
    <%@ include file="/footer.htm"%>

    javaBean:

    Guestbook.java

    代码:

    package webbook.guestbook;

    public class Guestbook {
     private String content;
     private String email;
     private Integer id;
     private String name;
     private String phone;
     private String time;
     private String title;

     public String getContent() {
      return content;
     }

     public void setContent(String content) {
      this.content = content;
     }

     public String getEmail() {
      return email;
     }

     public void setEmail(String email) {
      this.email = email;
     }

     public Integer getId() {
      return id;
     }

     public void setId(Integer id) {
      this.id = id;
     }

     public String getName() {
      return name;
     }

     public void setName(String name) {
      this.name = name;
     }

     public String getPhone() {
      return phone;
     }

     public void setPhone(String phone) {
      this.phone = phone;
     }

     public String getTime() {
      return time;
     }

     public void setTime(String time) {
      this.time = time;
     }

     public String getTitle() {
      return title;
     }

     public void setTitle(String title) {
      this.title = title;
     }
    }

    OracleUtil.java

    代码:

    package webbook.util;

    import java.sql.SQLException;
    import javax.naming.Context;
    import javax.naming.InitialContext;
    import javax.naming.NamingException;
    import javax.sql.DataSource;
    import org.apache.commons.dbutils.QueryRunner;
    import org.apache.commons.dbutils.ResultSetHandler;

    public class OracleUtil {
     private String dataSourceName;
     private DataSource ds;

     public OracleUtil(String dataSourceName) {
      this.dataSourceName = dataSourceName;  
     }

     public OracleUtil() {  
     }

     public void setDataSourceName(String dataSourceName) {
      this.dataSourceName = dataSourceName;
     }

     public void init() {
      Context initContext;
      try {
       initContext = new InitialContext();
       ds = (DataSource) initContext.lookup(dataSourceName);
      } catch (NamingException e) {
       e.printStackTrace();
      }
     }

    //跟新数据库中数据,包括插入,删除,修改

     public int update(String sql, String[] param) {
      int result = 0;
      QueryRunner qr = new QueryRunner(ds);
      try {
       result = qr.update(sql, param);
      } catch (SQLException e) {
       e.printStackTrace();
      }
      return result;
     }

    //query(String sql, String[] param, ResultSetHandler rsh)方法是定义数据库的查询

    参数:sql:查询的sql语句,

       params:传递的参数

       rsh:BeanListHandler的对象

     public Object query(String sql, String[] param, ResultSetHandler rsh) {
      QueryRunner qr = new QueryRunner(ds);
      Object result = null;
      try {
       result = qr.query(sql, param, rsh);
      } catch (SQLException e) {
       e.printStackTrace();
      }
      return result;
     }
    }

  • 相关阅读:
    [BZOJ3671][UOJ#6][NOI2014]随机数生成器
    [BZOJ3670][UOJ#5][NOI2014]动物园
    [UOJ#131][BZOJ4199][NOI2015]品酒大会
    [BZOJ4530][Bjoi2014]大融合 LCT + 启发式合并
    有趣的题目名称,有趣的题目
    [BZOJ2959]长跑——新技能:LCT+缩圈
    贴一下WC总结里提到的那道裸题吧。。。
    System and method for assigning a message
    http请求
    jQuery 语法
  • 原文地址:https://www.cnblogs.com/hongten/p/2114865.html
Copyright © 2011-2022 走看看