jsp课程设计

时间:2024.5.8

                       滨州学院

课程设计(学年论文)

    题目NCRE考试报名系统设计与实现                        

系    院                        

专    业                        

班    级                        

姓    名                        

学    号                        

指导教师                        

职    称                  

            

    年月 日


滨州学院课程设计(学年论文)任务书

                                                   指导教师签字:

系(院)负责人签字:


滨州学院课程设计(学年论文)成绩评定表

系(院):                     


一、课程设计的目的及要求

加深对JSP动态网页开发技术中的基本知识的理解,通过对所选项目的分析、程序算法的设计、运行与调试过程的分析,掌握动态网页基础知识、Tomcat服务器管理知识、JSP基础、JSP指令和脚本元素、JDBC、JSP处理客户端请求、会话和访问控制等,以及上机操作的各种技巧,培养逻辑思维能力、团队合作精神、创新能力、动手操作能力等,为本专业后续课程的学习打下一定的基础。

二、系统开发环境及运行环境   

操作系统:windows xp

数据库系统:MySQL

开发工具:MyEclipse

三、设计正文

此课程设计的网址是http://localhost:8080/NCRE

进入之后是网址的首页,存在一个进入链接

点击链接后进入主页,主页存在课程设计的两方面,分别是管理员和用户

在管理员中,管理员有登陆,修改密码,显示、修改用户信息的能力

管理员的部分代码

<一> 用户名和密码不能为空的验证

<script type="text/javascript">

       function checkzhi(){

              if(form1.text1.value==null||form1.text1.value==""){

                     alert("请输入账号");

                     return false;

                     }

              if(form1.pw.value==null||form1.pw.value==""){

                     alert("请输入密码");

                     return false;

                     }

              if(form1.text2.value==null||form1.text2.value==""){

                     alert("请输入验证码");

                     return false;

                     }

              }

</script>

<二> 验证码验证代码

public class CheckServlet extends HttpServlet {

    public void doPost(HttpServletRequest request, HttpServletResponse response)

        throws ServletException, IOException {

        HttpSession session = request.getSession();

        String requestCaptcha = request.getParameter("captcha");

        String sessionCaptcha = (String) session.getAttribute("captcha");

        if (sessionCaptcha != null && sessionCaptcha.equals(requestCaptcha)) {

            session.removeAttribute("captcha");

            request.getRequestDispatcher("/jsp/gl.jsp").forward(request, response);

        } else {

            request.setAttribute("message", "验证码输入错误");

            request.getRequestDispatcher("/jsp/gly.jsp").forward(request, response);

        }

    }

}

public class EncodingFilter implements Filter {

       public void init(FilterConfig config) throws ServletException {

       }

       public void destroy() {

       }

       public void doFilter(ServletRequest request, ServletResponse response,

                     FilterChain chain) throws IOException, ServletException {

              request.setCharacterEncoding("utf-8");

              chain.doFilter(request, response);

       }

}

<三> 验证码绘制

<%!

Color getRandColor(int fc,int bc) {

    Random random = new Random();

    if(fc > 255) {

        fc = 255;

    }

    if(bc > 255) {

        bc = 255;

    }

    int r = fc + random.nextInt(bc - fc);

    int g = fc + random.nextInt(bc - fc);

    int b = fc + random.nextInt(bc - fc);

    return new Color(r, g, b);

}

%>

<%

response.setHeader("Pragma", "No-cache");

response.setHeader("Cache-Control", "no-cache");

response.setDateHeader("Expires", 0);

int width = 60, height = 20;

BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);

Graphics g = image.getGraphics();

Random random = new Random();

g.setColor(getRandColor(200,250));

g.fillRect(0, 0, width, height);

g.setFont(new Font("Times New Roman", Font.PLAIN, 18));

//g.setColor(new Color());

//g.drawRect(0,0,width-1,height-1);

g.setColor(getRandColor(160, 200));

for (int i = 0; i < 155; i++) {

    int x = random.nextInt(width);

    int y = random.nextInt(height);

    int xl = random.nextInt(12);

    int yl = random.nextInt(12);

    g.drawLine(x,y,x+xl,y+yl);

}

String sRand = "";

for (int i = 0;i < 4; i++) {

    String rand = String.valueOf(random.nextInt(10));

    sRand += rand;

    g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110)));

    g.drawString(rand, 13 * i + 6, 16);

}

session.setAttribute("captcha", sRand);

g.dispose();

ImageIO.write(image, "JPEG", response.getOutputStream());

out.clear();

out = pageContext.pushBody();

%>

<四> 数据库链接代码

public class Db {

       private final String QD = "com.mysql.jdbc.Driver";

       private final String URL = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";

       private final String USER = "root";

       private final String PWD = "zxy910121";

      

       private Connection con = null;            //数据库连接

       private PreparedStatement pre = null;     //预编译指令集

       private ResultSet result = null;          //结果集

       public void  connect(){

              try{

                     Class.forName(QD);

                     con = DriverManager.getConnection(URL, USER, PWD);

              }catch(Exception ex){

                     ex.printStackTrace();

              }

       }

       public Connection getCon() {

              return con;

       }

       public void setCon(Connection con) {

              this.con = con;

       }

       public PreparedStatement getPre() {

              return pre;

       }

       public void setPre(PreparedStatement pre) {

              this.pre = pre;

       }

       public ResultSet getResult() {

              return result;

       }

       public void setResult(ResultSet result) {

              this.result = result;

       }

      

}

<五> 数据修改代码

try{

              Db db = new Db();

              db.connect();

              String sql = "update yonghu set shenfenzhenghao=?,ybukao=?,yminzu=?,ywenhua=?,yzhiye=?,kemu=?,yphone=?,yaddress=? where yname = ?";

              db.setPre(db.getCon().prepareStatement(sql));

              db.getPre().setString(1,shenfen);

              db.getPre().setString(2,bukao);

              db.getPre().setString(3,minzu);

              db.getPre().setString(4,wenhua);

              db.getPre().setString(5,zhiye);

              db.getPre().setString(6,kemu);

              db.getPre().setString(7,phone);

              db.getPre().setString(8,address);

              db.getPre().setString(9,yname);

             

              db.getPre().executeUpdate();

             

              db.getCon().close();

             

              request.getRequestDispatcher("login.jsp").forward(request, response);

       }catch(Exception ex){

              ex.printStackTrace();

       }

<六> 数据库添加代码

try{

              Db db = new Db();

              db.connect();

              String sql = "select * from yonghu where yname = ? ";

              db.setPre(db.getCon().prepareStatement(sql));

              db.getPre().setString(1,yname);

              db.setResult(db.getPre().executeQuery());

              if(db.getResult().next()){

                    

                     request.setAttribute("message", "用户名已经存在");

                     request.getRequestDispatcher("yhzc.jsp").forward(request, response);

              }else{

                     sql = "insert into yonghu(yname,ypass,ysex,yschool,yzhuanye,ybukao) values(?,?,?,?,?,?)";

                     db.setPre(db.getCon().prepareStatement(sql));

                     db.getPre().setString(1,yname);

                     db.getPre().setString(2,ypass);

                     db.getPre().setString(3,ysex);

                     db.getPre().setString(4,yschool);

                     db.getPre().setString(5,yzhuanye);

                     db.getPre().setString(6,ybukao);

                     db.getPre().executeUpdate();

                     request.getRequestDispatcher("zhuye.jsp").forward(request, response);

              }

             

              if(db.getResult()!=null){

                     db.getResult().close();

                     db.setResult(null);

              }

              if(db.getPre()!=null){

                     db.getPre().close();

                     db.setPre(null);

              }

              if(db.getCon()!=null){

                     db.getCon().close();

                     db.setCon(null);

              }

       }catch(Exception ex){

              ex.printStackTrace();

       }

四、程序调试过程中出现的问题

1、数据库都连接好了,但是验证用户名和其他有关数据库的东西时候总是出错

错误原因: final String URL = "jdbc:mysql://localhost:3306/students system?useUnicode=true&characterEncoding=GB2312";

这句话里面讲路径写成SQLServer的路径

final String USER = "root";

这里是用户名,写成了连接名

final String PWD = "123";

2、连接数据库的时候点击登录按钮没有反应

错误原因:

final String sql="select * from USERInfo Where uid =? and pwd =?";与之有关联的uid和pwd在MySQL中写的是用户名和密码

五 总结

通过实验,我学到了很多的jsp的知识,同时使自己对于面向对象的思想更加的理解,虽然期间出现了很多的问题,但是通过团队的努力,都解决了,增加了自己的知识总结,并且使自己的记忆更加的深刻。

更多相关推荐:
spss课程设计

课程设计分析探索变量salary随其他背景资料的变化规律一项目背景在分类变量的统计描述与参数估计中对员工的各个属性进行了初步的统计分析得出了一些结论比如男性员工较女性员工收高非少数名族较少数民族高受教育程度相同...

spss课程设计

河北联合大学调查报告学院经济学院专业国际经济与贸易班级12级国贸3班姓名高蒙蒙学号20xx14780822指导老师韩国玥河北联合大学调查报告姓名高蒙蒙学号20xx114780822目录第一章数据搜集与介绍3第二...

spss课程设计分析报告

ltltSPSS统计分析软件gtgt课程设计报告班级XXXXXXXXXXXX学号姓名XXXXXX20xx年6月私营企业中收入与利润的回归性分析摘要本文以私营企业中不同行业的收入与利润之间的关系为实例利用SPSS...

spss网络课程设计模块

网络课程设计与开发网络课程设计方案1浏览以下课件理解SPSS的应用Spssforwindowsppt数据资料变量的统计与推断pdf方差分析pdf3尝试用上面所学的知识分析问卷相关数据四川省青川教育信息化建设与应...

jsp课程设计报告书

一课程设计目的设计一个具有简单查询删除添加以及具有链接功能的公司雇员管理系统实际掌握数据库与JSP前台的链接与使用二功能描述1管理员进入进入之后能够对员工公司信息记录以及员工基本信息进行查询删除更新以及添加等功...

jsp课程设计 (24)

辽宁工业大学动态网页设计课程设计论文题目教务管理系统院系软件学院专业班级软起止时间20xx124至20xx1218程序设计专题报告任务及评语目录第1章实训的目的与要求111实训设计目的112实训设计的实验环境1...

jsp课程设计 (17)

辽宁工业大学动态网页设计课程设计论文题目运动球类销售网站院系软件学院专业班级教师职称助教起止时间20xx124至20xx1218程序设计专题报告任务及评语目录第1章实训的目的与要求111实训设计目的112实训设...

jsp课程设计报告格式

课程设计报告课程设计名称系部名称中印计算机软件学院学生姓名班级学号指导教师1目录1摘要32建设网站的目的及功能定位43网站的技术解决方案54网站内容规划65系统特点76订单及管理87系统特点98功能模块功能简解...

jsp课程设计报告

Web开发技术课程设计报告图书管理系统学生姓名王晶教师曹莹系部信息管理与工程系专业信息管理与信息系统班级10信管本完成日期20xx年1月7日第1页目录第一章引言31编写的目的32系统开发环境3第二章系统分析41...

jsp课程设计

辽宁工业大学动态网页设计课程设计论文题目眼镜销售网站院系软件学院起止时间20xx124至20xx1218程序设计专题报告任务及评语目录第1章实训的目的与要求111实训设计目的112实训设计的实验环境113实训设...

jsp课程设计 (10)

辽宁工业大学动态网页设计课程设计论文题目网上教学系统院系软件学院专业班级指导教师教师职称助教起止时间20xx124至20xx1218程序设计专题报告任务及评语院系软件学院教研室软件教研室目录第1章实训的目的与要...

java_jsp课程设计报告(网络购物车的实现) 2[1] (2)

南阳理工学院课程设计课程设计名称课程设计专业班级数据库一班学生姓名张文瑞学号1315925020指导教师网络购物车一需求分析利用htmljspjavaservlet数据库等知识点结合相关设计模式以及软件工程的相...

spss课程设计总结(4篇)