JSP分页显示、登陆和注册.doc_第1页
JSP分页显示、登陆和注册.doc_第2页
JSP分页显示、登陆和注册.doc_第3页
JSP分页显示、登陆和注册.doc_第4页
JSP分页显示、登陆和注册.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JSP 程序设计结课作业一、 商品模糊查询和分页显示1. 数据库设计商品数据库具体设计(如图1.1.1)图1.1.1数据库具体设计 说明:1) Id为主键,为自动增量。2) 其他所对应名称为:产品名、类型、价格、库存数量和制造商。3) 其中主键、产品名、类型和制造商不能为空。商品数据库具体数据(如图1.1.2)图1.1.2数据库数据2. 整体思路当进入主页面index.jsp后,第一个选择的是你想通过什么进行模糊查询,例如通过产品名或者是制造商,紧接着在第二个表单中你要输入你的关键字,提交。提交给Date.jsp页面,此页面的目的是实现对index.jsp页面表单的数据存储到session当中,页面跳转到PageShow.Jsp页面。在PageShow.jsp页面中,实现了对数据库的模糊查询和分页显示。详情请见流程图。3. 流程图1) 页面之间的流程图图3.1页面流程图2)PageShow.jsp流程图图3.3 PageShow.jsp流程图4. 运行截图1) Index.jsp运行界面截图图4.1.1Index.jsp运行界面2) 分页显示截图图4.2.1分页显示1图4.2.2分页显示2图4.2.3分页显示35. 实现代码1) Index.jsp代码 查询商品 请选择要查询的类型 名称 制造商 规格   输入关键字 2) PageShow.jsp代码 查询商品列表 商品名称 商品类型 商品价格 库存数量 制造商 % String key1=(String)session.getAttribute(key1); String key=(String)session.getAttribute(key); int PageSize=5; int RecordCount; int PageCount; int Page=1; int i; String SPage=request.getParameter(page); if(SPage=null) Page=1; else Page=java.lang.Integer.parseInt(SPage); if(PagePageCount) Page=PageCount; if(PageCount0) rs.absolute(Page-1)*PageSize+1); i=0; while(i 第页 共页 % if(Page a href=PageShow.jsp?page=下一页 1) % a href=PageShow.jsp?page=上一页 二、 登陆1. 数据库设计登陆数据库具体设计(如图2.1.1)图2.1.1数据库具体设计商登陆数据库具体数据(如图2.1.2)图2.1.2数据库具体数据2. 整体思路本程序主要运用Servlet技术来进行数据的处理。进入登陆界面main.jsp,输入用户账号和密码,数据提交给MainServlet.java进行处理。首先进行判断,检测账号和密码是否为空,如为空,输出不能为空的提示信息,界面继续转向main.jsp页面;如果都不为空,连接数据库,进行查询。查找账号,如果账号不存在,输出账号错误提示信息,返回main.jsp页面;如果账号存在,如果匹配数据库的密码,转向success.jsp登陆成功页面;匹配失败,则输出“密码错误”提示信息,返回main.jsp继续此过程。3. 流程图MainServlet.java流程图图3.1.1登陆流程图4. 运行截图1) 登陆界面截图图4.1.1登陆界面2) 提示信息截图图4.2.1账号不能为空提示信息图4.2.2密码不能为空提示信息图4.2.2密码不正确提示信息3) 登陆成功截图图4.2.2登陆成功界面5. 实现代码1) Main.jsp代码 欢迎进入个人信息管理系统 用户账号: 用户密码: 2) MainServlet.java代码package Servlet;import java.io.*;import javax.swing.*;import java.sql.*;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class MainServlet extends HttpServlet private static final long serialVersionUID = 1L;public MainServlet() super();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void wrong1()String msg=用户名不能为空!;int type=JOptionPane.YES_NO_OPTION;String title=信息提示;JOptionPane.showMessageDialog(null,msg,title,type);public void wrong2()String msg=用户名不存在,登陆失败!;int type=JOptionPane.YES_NO_OPTION;String title=信息提示;JOptionPane.showMessageDialog(null,msg,title,type);public void wrong3()String msg=密码不正确,登陆失败!;int type=JOptionPane.YES_NO_OPTION;String title=信息提示;JOptionPane.showMessageDialog(null,msg,title,type);public void wrong4()String msg=密码不能为空!;int type=JOptionPane.YES_NO_OPTION;String title=信息提示;JOptionPane.showMessageDialog(null,msg,title,type);public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException doPost(request,response);public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String username=request.getParameter(username);String password=request.getParameter(password);if(username.equals()wrong1();response.sendRedirect(main.jsp);return;else if(password.equals()wrong4();response.sendRedirect(main.jsp);return;elsetryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);Connection conn=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=userlogin,sa,000);Statement stmt=conn.createStatement();String sql=select password from user2 where name=+username+;String sql2=select name from user2 where name=+username+; ResultSet rs=null; ResultSet rs2=null; rs2=stmt.executeQuery(sql2); rs=stmt.executeQuery(sql); while(rs.next() if(password.equals(rs.getString(password) response.sendRedirect(success.jsp); return; else wrong3(); response.sendRedirect(main.jsp); return; if(rs2.next()=false)wrong2();response.sendRedirect(main.jsp);return;catch(Exception e)e.printStackTrace();/* * Initialization of the servlet. * * throws ServletException if an error occurs */public void init() throws ServletException / Put your code here3) Xml中的配置代码 This is the description of my J2EE component This is the display name of my J2EE component MainServletServlet.MainServlet MainServlet/MainServlet三、 注册1. 数据库设计注册数据库具体设计(如图3.1.1)图3.1.1注册数据库具体设计注册数据库具体数据(如图3.1.2)图3.1.2注册数据库具体数据2. 整体思路注册程序根据MVC经典模式进行设计,即JSP+Servlet+JavaBean。首先在Register.jsp页面录入注册信息,提交给RegisterServlet.java进行数据处理,判断两次输入的密码是否一样,如果不一致,输出错误提示信息,页面转向Register.jsp再次输入;检测输入的账号名是否存在,如果存在,输出错误信息提示,页面转向Register.jsp再次输入。如果检测无错,将表单的数据写入数据库,并且将数据存储在JavaBean当中,转向注册成功页面ShowRegister.jsp。在ShowRegister.jsp页面中,显示注册的信息。3. 流程图图3.1.1注册流程图4. 运行截图1) Register.jsp截图2) 错误提示信息截图图用户名不能为空图密码不能为空图两次输入的密码不一致图用户名已存在3) 注册成功截图图3.4.3注册成功4) 前后数据库对比截图图3.4.3注册成功之前图3.4.3注册成功之后5. 实现代码1) Register.jsp代码 欢迎注册 用户账号 用户密码 确认密码 真实姓名 性    别 民    族 出生日期 联系电话 E-mail   2) Register Bean.java代码package Bean;public class RegisterBean private String username;private String password;private String name;private String sex;private String nation;private String birthday;private String tel;private String email;public RegisterBean()public void setUsername( String username)this.username=username;public String getUsername()return username;public void setPassword(String password)this.password=password;public String getPassword()return password;public void setName(String name)=name;public String getName()return name;public void setSex(String sex)this.sex=sex;public String getSex()return sex;public void setNation(String nation)this.nation=nation;public String getNation()return nation;public void setBirthday(String birthday)this.birthday=birthday;public String getBirthday()return birthday;public void setTel(String tel)this.tel=tel;public String getTel()return tel;public void setEmail(String email)this.email=email;public String getEmail()return email;3) RegisterServlet.java代码package Servlet;import java.io.*;import java.sql.*;import Bean.RegisterBean;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.swing.JOptionPane;public class RegisterServlet extends HttpServlet private static final long serialVersionUID = 1L;public RegisterServlet() super();public void destroy() super.destroy(); / Just puts destroy string in log/ Put your code herepublic void wrong1()String msg=用户名不能为空;int type=JOptionPane.YES_NO_OPTION;String title=信息提示;JOptionPane.showMessageDialog(null,msg,title,type);public void wrong2()String msg=密码不能为空;int type=JOptionPane.YES_NO_OPTION;String title=信息提示;JOptionPane.showMessageDialog(null,msg,title,type);public void wrong3()String msg=两次输入的密码不一致;int type=JOptionPane.YES_NO_OPTION;String title=信息提示;JOptionPane.showMessageDialog(null,msg,title,type);public void wrong4()String msg=用户名已存在;int type=JOptionPane.YES_NO_OPTION;String title=信息提示;JOptionPane.showMessageDialog(null,msg,title,type);public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException String username=request.getParameter(username);byte a=username.getBytes(ISO-8859-1);username=new String(a);String password=request.getParameter(password);byte a1=password.getBytes(ISO-8859-1);password=new String(a1);String password2=request.getParameter(password2);byte a2=password2.getBytes(ISO-8859-1);password2=new String(a2);String name=request.getParameter(name);byte a3=name.getBytes(ISO-8859-1);name=new String(a3);String sex=request.getParameter(sex);byte a4=sex.getBytes(ISO-8859-1);sex=new String(a4);String nation=request.getParameter(nation);byte a5=nation.getBytes(ISO-8859-1);nation=new String(a5);String birthday=request.getParameter(birthday);byte a6=birthday.getBytes(ISO-8859-1);birthday=new String(a6);String tel=request.getParameter(tel);byte a7=tel.getBytes(ISO-8859-1);tel=new String(a7);String email=request.getParameter(email);byte a8=email.getBytes(ISO-8859-1);email=new String(a8);RegisterBean mm=new RegisterBean(); /创建Beanmm.setUsername(username); /在Bean中存储数据mm.setName(name);mm.setSex(sex);mm.setNation(nation);mm.setBirthday(birthday);mm.setTel(tel);mm.setEmail(email);request.setAttribute(bean, mm);if(username.equals()wrong1();response.sendRedirect(Register.jsp);else if(password.equals()|password2.equals()wrong2();response.sendRedirect(Register.jsp);else if(password.equals(password2)=false)wrong3();response.sendRedirect(Register.jsp);elsetryClass.forName(com.microsoft.sqlserver.jdbc.SQLServerDriver);Connection con=DriverManager.getConnection(jdbc:sqlserver:/localhost:1433;DatabaseName=userlogin,sa,000);Statement stmt=con.createStatement();String sql=insert into user2(name,password) values(+username+,+password+);String sql2=insert in

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论