实验报告 实践报告□课程名称:软件代码开发技术实验、实践名称:实验一软件代码基础实验实验、实践地点:致远楼B303专业班级:软件XXXX 学号:XXXXXXXX 学生姓名:XXX指导教师:孙静宇2017年4 月17 日一、实验目的和要求(必填)熟悉JSP、Servlet、JDBC、MySQL、MVC等相关技术,培养良好的代码风格,为其他实验做好准备。
参照课本及参考程序,快速熟悉相关内容,编写带有自己标识信息的留言板程序(如sjyNote),熟悉Java等编程语言或技术的基本编程技巧,注重良好的代码风格(如变量命名、代码注释、Servlet与类中代码的结构等),初步掌握编写Web应用程序的能力。
二、实验内容和原理(必填)在熟悉MySQL、MyEclipse开发环境基础上,基于MVC模式,使用Jsp+Servlet 编写一个留言版程序,前台用Jsp,后台用Servlet,并培养良好的代码风格。
三、主要仪器设备(必填)软件环境:Windows 7/2008-x86,MySQL5.5,MyEclipse3.6;硬件环境:P4 2.4G/80G/1G/64M及较高配置的PC机。
四、操作方法与实验步骤1.安装和配置MySQL、MyEclipse集成开发环境;2.通过查阅课本、网络资料,了解相关知识;3.按照代码风格要求,编写自己的留言板程序;4. 调试程序,输出结果,并进行记录。
五、实验数据记录和处理(可选)AddMessage.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {byte b1[]=request.getParameter("name").getBytes("ISO-8859-1");String na=new String(b1,"gb2312");byte b2[]=request.getParameter("email").getBytes("ISO-8859-1");String em=new String(b2,"gb2312");byte b3[]=request.getParameter("title").getBytes("ISO-8859-1");String ti=new String(b3,"gb2312");byte b4[]=request.getParameter("content").getBytes("ISO-8859-1");String co=new String(b4,"gb2312");if(na==null)na="";if(em==null)em="";if(ti==null)ti="";if(co==null)co="";try{PreparedStatement stm=con.prepareStatement("insert into messagevalues(?,?,?,?)");stm.setString(1, ti);stm.setString(2, na);if(em.length()==0)stm.setString(3, null);else stm.setString(3, em);stm.setString(4, co);try{stm.execute();}catch (Exception e) { }RequestDispatcherrequestDispatcher=request.getRequestDispatcher("ViewMessageServlet");requestDispatcher.forward(request, response);}catch (Exception e) {e.printStackTrace();}}ShowMessage.javaprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Collection<MessageDataBean> ret=new ArrayList<MessageDataBean>();try{Statement stm=null;stm=con.createStatement();ResultSet result=stm.executeQuery("select count(*) from message");int message_count=0;if (result.next()) {message_count=result.getInt(1);result.close();}if (message_count>0) {result=stm.executeQuery("select * from message");while(result.next()){String name=result.getString("name");String title=result.getString("title");String email=result.getString("email");String content=result.getString("content");MessageDataBean msdBean=new MessageDataBean();msdBean.setTitle(title);msdBean.setName(name);msdBean.setEmail(email);msdBean.setContent(content);ret.add(msdBean);}result.close();stm.close();}request.setAttribute("messages", ret);RequestDispatcherrequestDispatcher=request.getRequestDispatcher("ViewMessages.jsp");requestDispatcher.forward(request, response);}catch (Exception e) {e.printStackTrace();}}Messages.jsp<form action="AddMessage"><table align="center"border="0"><tr><td>姓名</td><td><input type="text"name="name"size="25"/></td></tr><tr><td>email</td><td><input type="text"name="email"size="25"/></td></tr><tr><td>主题</td><td><input type="text"name="title"size="25"/></td></tr><tr><td>内容</td><td><textarea name="content"rows="7"clos="25"></textarea></td></tr><tr><td colspan="3"><table width="100%"cellspacing="0"cellpadding="0"><tr><td><input type="submit"value="提交留言"></td><td><a href="ViewMessageServlet">查看留言</a></td><td><input type="reset"value="重新填写"></td></table></td></tr></table></form>ViewMessage.jsp<body><h2align="center">全部留言</h2><table width="80%"border="1"align="center"><%int message_count=0;Collection<MessageDataBean>messages1=(Collection<MessageDataBean>)request.getAttribute("messages"); Iterator<MessageDataBean> it=messages1.iterator();while(it.hasNext()){ MessageDataBean mg=(MessageDataBean)it.next();%><tr><td>留言人</td><td><%=mg.getName() %></td><td>email</td><td colspan="2"><% out.println("<ahref=mailto:"+mg.getEmail()+">"+mg.getEmail()+"</a>");%></td> <tr><td>主题</td><td colspan="4"><%=mg.getTitle() %></td></tr><tr><td>内容</td><td colspan="4"><textarea rows="4"cols="70"><%=mg.getContent() %></textarea></td></tr><tr><td colspan="5"bgcolor="pink"> </td></tr><%message_count++; %><% }%><p align="center"><a href="Messages.jsp">我要留言</a></p></table></body>六、实验结果与分析(必填)填写留言信息:点击提交留言:数据库中数据:点击我要留言:六、实验结果与分析(必填)七、讨论、心得(可选)六、思考题:1.为什么要保持良好的代码风格?保持好的代码风格可以避免一些不必要的错误,可以提高程序的可读性,提高开发效率。