




已阅读5页,还剩10页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验六 Mvc编程模式【实验目的】1、掌握jsp+JavaBean+Servlet开发模式2、掌握Mvc思想,会使用mvc开发简单的web应用。【实验内容:】1、开发mvc模式的登录模块或者注册模块,要求链接数据库2、以Mvc思想为指导,使用jsp+JavaBean+Servlet开发模式开发一个web版本的计算器3、开发mvc模式的用户满意度调查程序,调查结果要用图形显示、保存在数据库【参考代码:】1、 mvc模式的登录模块或者注册模块Jsp:loginUsername:Password:Servlet:public class LoginServlet extends HttpServlet private static final String CONTENT_TYPE = text/html; charset=GBK; /Initialize global variables public void init() throws ServletException /Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(CONTENT_TYPE); PrintWriter out = response.getWriter(); String name = request.getParameter(username); String pass = request.getParameter(password); if (name != null & pass != null) User user = new User(); user.setUsername(name); user.setPassword(pass); if (user.check(user) HttpSession session=request.getSession(); session.setAttribute(user,user); RequestDispatcher dispatcher=request.getRequestDispatcher(welcome.jsp); dispatcher.forward(request,response) ; else RequestDispatcher dispatcher=request.getRequestDispatcher(fail.jsp); dispatcher.forward(request,response) ; else RequestDispatcher dispatcher=request.getRequestDispatcher(fail.jsp); dispatcher.forward(request,response) ; out.close(); /Clean up resources public void destroy() Javabean:public class User private String username; private String password; public User() public void setUsername(String username) this.username = username; public void setPassword(String password) this.password = password; public String getUsername() return username; public String getPassword() return password; public boolean check(User user) String name = user.getUsername(); String pass = user.getPassword(); String condition = select * from login where username= + name + ; Connection con = null; Statement sql = null; ResultSet rs = null; try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); catch (ClassNotFoundException e) try con = DriverManager.getConnection(jdbc:odbc:sun, , ); sql = con.createStatement(); rs = sql.executeQuery(condition); rs.next(); String t=rs.getString(3); if(t.equals(pass) return true; catch (SQLException ex) return false; return false; 2 Mvc的计算器Jsp:jsp1 输入两个数: * / + - result 运算结果: = 输入两个数: * / + - Servlet:public class Servlet1 extends HttpServlet private static final String CONTENT_TYPE = text/html; charset=GBK; /Initialize global variables public void init() throws ServletException /Process the HTTP Get request public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(CONTENT_TYPE); try PrintWriter out = response.getWriter(); Calculate c = new Calculate(); String a1 = (String) request.getParameter(a); double a = Double.parseDouble(a1); c.setA(a); String a2 = (String) request.getParameter(b); double b = Double.parseDouble(a2); c.setB(b); String a3 = (String) request.getParameter(flag); int f = Integer.parseInt(a3); c.setFlag(f); c.jisuan(); HttpSession session=request.getSession(); session.setAttribute(ok,c); RequestDispatcher dis=request.getRequestDispatcher(/result.jsp); dis.forward(request,response); catch (Exception ex) ex.printStackTrace(); /Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException doGet(request, response); /Clean up resources public void destroy() javaBean:package calculate.model;public class Calculate private double a; private double b; private double r; private int flag; private String operator; public Calculate() public void setA(double a) this.a = a; public void setB(double b) this.b = b; public void setR(double r) this.r = r; public void setFlag(int flag) this.flag = flag; public double getA() return a; public double getB() return b; public double getR() return r; public int getFlag() return flag; public String getOperator() return operator; public void jisuan() switch (flag) case 1: r = a * b; operator=*; break; case 2: r = a / b; operator=/; break; case 3: r = a + b; operator=+; break; case 4: r = a - b; operator=-; break; 3 满意度调查Jsp: JSP Page Hello World! 好 较好 一般 差 JSP Page Hello World! 好 $requestScopepercent.good% 较好 $requestScopepercent.better% 一般$requestSmon% 差$requestScopepercent.bad% JavaBean:/* * To change this template, choose Tools | Templates * and open the template in the editor. */package jkx;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.SQLException;import java.util.ArrayList;import java.util.HashMap;import java.util.logging.Level;import java.util.logging.Logger;/* * * author lswyy */public class Survey private int good; private int better ; private int common ; private int bad ; private int survey; private int totalSurvey; public int getSurvey() return survey; public void setSurvey(int survey) if (survey=4) setGood(1); else if (survey=3) setBetter(1); else if (survey=2) setCommon(1); else setBad(1); private HashMap width =new HashMap(); private HashMap percent =new HashMap(); public HashMap getPercent() return percent; public HashMap getWidth() return width; public int getBad() return bad; public void setBad(int bad) this.bad+= bad; public int getBetter() return better; public void setBetter(int better) this.better += better; public int getCommon() return common; public void setCommon(int common) mon += common; public int getGood() return good; public void setGood(int good) this.good += good; public void count() jisuan(good, good); jisuan(better, better); jisuan(common, common); jisuan(bad, bad); System.out.println(width:+width); System.out.println(percent:+percent); private void jisuan(int num,String key) int total=500;/柱状图片的最大宽度统一为500 float n=good+better+common+bad; totalSurvey=(int) n; percent.put(key, (int) (num / n*100); width.put(key, (int)(500*(num/n); /* * USE pubsGO/* 对象: Table dbo.surveySET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE dbo.survey(id int NOT NULL,good int NULL,better int NULL,common int NULL,bad int NULL,total int NULL, CONSTRAINT PK_survey PRIMARY KEY CLUSTERED(id ASC)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON PRIMARY) ON PRIMARY */ DBConnection dbc=new DBConnection(); public void save() Connection connection =dbc.getConnection(); String sql =update survey set good=?, better=?, common=?, bad=?, total=? where id=1; try PreparedStatement ps = connection.prepareStatement(sql); ps.setInt(1, good); ps.setInt(2, better); ps.setInt(3, common); ps.setInt(4, bad); ps.setInt(5, totalSurvey); ps.executeUpdate(); catch (SQLException ex) Logger.getLogger(Survey.class.getName().log(Level.SEVERE, null, ex); Servlet:public class SurveyServlet extends HttpServlet /* * Processes requests for both HTTP GET and POST methods. * param request servlet request * param response servlet response * throws ServletException if a servlet-specific error occurs * throws IOException if an I/O error occurs */ Survey survey=new Survey();/所有用户的请求数据交到同一个JavaBean中计算结果 protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException try Map form =request.getParameterMap(); BeanUtils.populate(survey, form); survey.count(); survey.save(); request.setAttribute(width, survey.getWidth(); request.setAttribute(percent, survey.ge
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 内蒙古通辽市库伦旗2026届九上化学期中学业水平测试试题含解析
- 江苏省句容市二中学片区合作共同体2026届英语九上期末质量检测模拟试题含解析
- 幼儿园期末汇报通关
- 安徽省宿州十三校2026届英语九年级第一学期期末统考试题含解析
- 福建省泉州台商投资区五校联考2026届九年级化学第一学期期中质量检测试题含解析
- 2026届辽宁省台安县化学九年级第一学期期中监测试题含解析
- 2026届广东省惠阳市马安中学英语九上期末学业质量监测模拟试题含解析
- 2026届浙江省杭州市余杭区英语九上期末经典试题含解析
- 巢湖市重点中学2026届九上化学期中质量检测试题含解析
- 2025年辅警勤务岗面试题及答案
- 汇流箱介绍优秀课件
- 像科学家那样探索
- 灭火器维修与报废规程
- 初中道德与法治新课标理念解读
- GB/T 5783-2016六角头螺栓全螺纹
- GB/T 24137-2009木塑装饰板
- 二维混合机清洁验证方案
- GB 18613-2020电动机能效限定值及能效等级
- 利用“水量平衡原理”分析地理问题 【思维导图+重难点突破】 高考地理 考点全覆盖式精讲 高效复习备考课件
- (新版)水电站知识问答题题库300题(含答案)
- 外科颅内和椎管内血管性疾病 课件
评论
0/150
提交评论