1、武汉工程大学计算机科学与工程学院 生产实习报告JavaWeb实习报告一、实习目的与任务为了锻炼我们的实践动手能力,提高我们分析问题、解决问题的能力,培养我们的工作意识和团队合作的意识,了解软件开发的过程和基本流程 ,以便于帮助我们能够在大四毕业时可找到一份客观的工作,我们在大四刚开学就开始了生产实习。这次实习的主要任务是Java Web软件开发,学习Java开发中比较典型且经常用到的几个知识,其中包括Jsp、Servlet、Html、JDBC等等,另外,Java开发中也必须要用到数据库,因此实习中还加入了Mysql数据库的学习。掌握了这些基本知识之后,就开始真正的项目开发,而且此次我们所要开发
2、的项目是有关博客页面的项目,并完成老师指定的功能。二、实习地点 重庆足下科技有限公司三、实习内容和要求我们这次实习,在校外也就是软帝公司总共是十天,开始几天基本上是每天学习一个方面的内容,大概学习了六天其中包括Jsp、Servlet、Html、JDBC、Mysql等等,剩下几天就是项目时间,做出一个博客开发的项目。大致内容如下:一、 Java语言简介Java语言Java是由Sun微系统公司所发展出来的程序语言,它是一种面向地向的语言,Java也号称是能跨平台使用的语言,这主要是因为Java本身被编译之后,并不是直接产生可执行的代码,而是产生一种中间码叫作 ByteCode,这种代码必需在透过
3、Java 的直译器来解读它,才能够真正的被执行,所以只要平台上装有这种Java的直译器,就能解读ByteCode也就能执行Java编译过的程序,故与Java程序是在那种平台上被编译的,就完全没有干系了。Java写出来的程序可分为两类,分别是Java Applet与一般的Application,而Application这一类就与一般的程序如C+的作用是比较类似的,是一个独立可执行的应用程序,像HotJava是一个浏览器,且就是使用Java程序所发展出来的。最常见的Java程序包括应用程序和applets。应用程序是单独的程序,诸如HotJava浏览器软件就是用Java语言编写的。 Applets
4、类似于应用程序,但是它们不能单独运行, Applets可以在支持Java的浏览器中运行。Applet主要是内置于HTML网页中,在浏览时发挥作用。Java的目标是为了满足在一个充满各式各样不同种机器,不同操作系统平台的网络环境中开发软件。利用Java程序语言,可以进行网页开发,其中包括静态语言开发与动态网页开发,可以在网页中加入各式各样的动态效果,可以放上一段动画,加入声音,也可以建立交互式网页等。二、 Html语言 Html是超文本标记语言,它是一种非严格的标记语言,它是web开发的基础,也是制作网页的基础,纯html的页面是静态的。 Html它由head和body两部分组成,所写的内容一般
5、都是放在body中,其中可以添加Form表单域,其中属性 Action表示提交的动作,也就是提交到那个页面,可表示为Action=“”;Method属性表示提交的方法,一般为设为post;在Form表单域中添加table表,table中的属性只有很多,常用的有width、height、align、colspan等等,当然,有表就会有行和列,其中行用tr表示,列用td表示,行与列的属性值与table差不多。在行与列中还可以添加一些按钮,链接等等,添加按钮是用表示,添加链接则用来添加,另外,还有一个比较有用的标签,可以画出一个框,里面可以添加所需要的东西。运用Html我们开发了一个e-mail邮件
6、发送系统,这个界面主要用到了七个htm文件,有主页面 main.html,其中主页面分为上部、左部和右部,分别用top.html、left.html、right.html文件来表示。另外还增加了登录页面(login.html)、注册页面(regist.html)以及书写邮件的页面(write.html),由这些html文件共同实现了e-mail的基本界面。首先进入login登录界面,输入用户名和密码,而且用户名和密码有一定的限制,输入信息符合要求后方可进入主页面,另外,在登录界面的用户名后还有一个超链接“注册”,点击“注册”就可以进入注册的页面,注册页面上有五行,包括用户名、密码、重复密码以及
7、上传头像,另外还有两个按钮“提交注册”和“重置”,这样即可完成注册。登陆界面中还用到了JavaScript,用以给出用户名和密码的限制条件,其中有一个function方法,用到的代码如下: function checkInfo()var name=document.getElementById(username).value;var pass=document.getElementById(pass).value;if(name=)alert(请输入用户名!);return false;elseif(pass=)alert(请输入密码!);return false;elsereturn tru
8、e; 以后若要用到限制条件,都是运用与此类似的方法,这段代码可以说是一个模板。进入到主页面后,可以看到三个部分,左边的部分用链接列出几项,包括“写信”、“收信”、“联系人”、“百度”等,右边显示好友上传图片,顶部是背景图片。点击左边的写信,跳转到write页面,可以写邮件。右边的现实的图片可以进行查看,与空间显示的图片差不多,也是可以由小图片转换成大图片。当鼠标点击到小图标X上时,图标就亮了,鼠标拿走,图标就暗了,另外,我们运用Html还设计了一个hao123页面,页面中用到了text文本框、超链接、行列的布置,图片的加载等等,做出来之后,整体感觉与hao123本来的页面基本差不多。三、 My
9、sql数据库 Mysql是一种小型的数据库,它与Java的联系十分密切,MySQL是一个小型关系型数据库管理系统,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了Mysql作为网站数据库,因此,网页编写大多数都是用Mysql。Mysql是一个关联数据库,它将数据保存在不同的表中,而不是将所有数据放在一个大的仓库内。这样就增加了速度并提高了灵活性。Mysql的Sql指得是“结构化查询语言”,Sql是用于访问数据库的最常用标准化语言。同时,Mysql软件也是一种“开放源码”的软件,意味着任何人都能使用和改变软件。任何人都能从Interne
10、t下载Mysql软件,而无需支付任何费用。如果愿意,你可以研究源码并进行恰当的更改,以满足你自己的需求。Mysql软件采用了GPL(GNU通用公共许可证),定义了在不同情况下可以用软件作的事和不可作的事。数据库服务器具有快速、可靠和易于使用。Mysql服务器还有一套实用的特性集合,在基准测试主页上,给出了Mysql服务器和其他数据库管理器的比较结果。Mysql支持多种连接,包括TCP/IP、ODBC和JDBC等多种数据库连接途径 ,而我们此次实习用到的是JDBC数据库连接方法,这一点在下面会讲到。此次实习我们主要学习了如何在Mysql数据库中建立表格,如何执行Sql语句等等。首先,打开Mysq
11、l编写框,执行语句show databases,即可查看Mysql中有哪些数据库,运用create+数据库名语句可建立想要的数据库,运用use+数据库名即可进入对应的数据库。进入数据库之后,就可以执行数据库中的增、删、查、改等Sql语句了,运用create table +表名(表中所需要的元素),这样就可以建立一张表了,运用desc+表名就可以查看表,运用Sql语句“select * from +表名”就可以查看表中的所有数据,运用“insert into ”语句可以向表中添加数据;运用“update +表 set Where”可以更改表中指定的某项数据;运用“delete +表 where
12、”语句可以删除表中的某项数据四、 JDBC数据库连接 Java中的JDBC,JDBC是Java Data Base Connectivity的缩写,是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。连接数据库的方法有一个模板,代码如下:public class DBManager private static final String URL=jdbc:mysql:/localhost:3306/test;private stat
13、ic final String USER=root;private static final String PASSWORD=123;private static Connection conn=null;public static Connection getConn()try if(conn=null)/注册驱动Class.forName(com.mysql.jdbc.Driver);conn=DriverManager.getConnection(URL,USER,PASSWORD); catch (ClassNotFoundException e) e.printStackTrace(
14、); catch (SQLException e) e.printStackTrace() ;return conn;以后运用数据库连接基本上都是用这个模板,方便又有效,而且在其他地方连接数据库时都可以直接对其进行调用。通过JDBC我们可以连接到所用的数据库mysql,可以从数据库中提取数据,也可以将所写数据存入数据库,用JDBC连接数据库都是一个模式,基本上都是按照一个套路在写,运用JDBC以及MyEclipse工具,我们也做出了一个小型的系统。系统具有添加、查询、删除、修改、退出系统等功能,添加功能可以控制台中所写的信息添加到数据库中,查询信息则是根据id号从数据库中查询信息并将信息显示出
15、来,增加、删除亦是如此,要做出这些功能首先都必须先连接到数据库,这就要用到JDBC技术,还要用到Connection 方法,首先加载mysql数据库的驱动,然后在创建连接,连接时要提供所用计算机的IP地址和端口号,以及mysql数据库数据库的用户名和密码。连接好数据库后,再根据所需要的功能编写出对应的方法,不同方法对应不同的sql语句,例如添加信息(add)中用insert语句,删除用delete语句,修改用update语句等等,然后主函数中提供对功能的选择,不同的编号对应不同的功能,并且根据所选的功能调用的方法。 五、 JSP JSP是Java Server Pages的缩写,它是由Sun
16、Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(JavaScript)和JSP标记(tag),从而形成JSP文件(*.jsp)。Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP页面通常被编译成为Java Servlets,这是一个标准的Java扩展。页面开发人员能够访问全部的Java应用环境,
17、以利用Java技术的扩展性和可移植性。当JSP页面第一次被调用时,如果它还不存在,就会被编译成为一个Java Servlets类,并且存储在服务器的内存中。这就使得在接下来的对该页面的调用中,服务器会有非常快的响应。我们所做的学生信息管理系统也需要用到Mysql数据库和JDBC技术,所做的系统同样可以添加、修改、查询和删除学生信息,不过这些功能是运用不同的页面显示,点击不同的按钮即可跳转到所需的页面,而后获得想要的信息。每个功能都建立一个JSP页面,其中主页面是Index.jsp,在这个页面中有两个链接,分别转到增加信息和浏览信息页面,浏览信息页面中还包括了对信息的修改和删除。例如,系统中浏览
18、学生信息的页面的代码如下: 学号 姓名 性别 年龄 专业 操作 $stu.sno $stu.sname $stu.sex $stu.age $stu.major 删除 修改 另外还用到了两个Java类StuDAO和StuDTO,这两个类中用到JDBC技术,它们分别用以从数据库中读取数据和将数据存入到数据库中。这两个类中有很多方法,通过调用这些方法即可实现学生信息管理系统中的增、查、删、改等功能!六、 Servlet Servlet是一种服务器端的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。 它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服
19、务器上的数据库或应用程序)的中间层。 Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet生成响应内容并将其传给Server,响应内容动态生成,通常取决于客户端的请求。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法,用的比较普遍的是doPost()方法。举例如下:public void doPost(HttpServletRequest request, Http
20、ServletResponse response)throws ServletException, IOException /1、获取id String sid=request.getParameter(id); int id=Integer.parseInt(sid); /2、根据id查询到对应的学生信息 StuDAO sdao=new StuDAO(); StuDTO stu=sdao.queryStu(id); /3、将stu传递到studentModify.jsp页面显示 request.setAttribute(stu,stu);request.getRequestDispatche
21、r(studentModify.jsp).forward(request,response);我们同样是以学习建立学生信息管理系统为例来学习Servlet的,Servlet与JSP差不多,最主要的差别是JSP是实现普通静态HTML和动态HTML混合编码的技术,Servlet则是web页面和服务器之间的连接物,而这基本上没什么区别。在编写学生信息管理系统的时候,只不过在昨天编写的基础上,将某些JSP文件运用Servlet表示,像那些只做显示用的JSP页面不做变化,而中间有调用StuDAO中的方法的JSP页面,它们不做显示用,而是要与数据库联系起来,像这些JSP页面就可以转换成相应的Servlet
22、,其中的代码与JSP中的几乎一样,这样处理之后,减少了页面,不过功能没有变化,更加方便了!四、实习总结及分析这次实习主要是学习Java Web开发方面的相关知识,主要的有JSP、Servlet、HTML,另外还有JDBC,Mysql数据库等等。首先是JSP,它是Java Web开发的基础,需要的页面都是用JSP来建立的,它是一种动态的网页技术,其中,可以显示动态画面以及动画效果,在其中也可以编写Java代码,也可以加入html编写语言,通过form表单中的action属性可以实现页面间的跳转,点击不同的按钮,可以跳转到相应的页面,它是Java Web编程中必不可少的部分,Java语言开发的任何
23、项目都要用到它;其次是Servlet,它也是Java Web开发中必不可少的部分,Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。Servlet生成响应内容并将其传给Server,响应内容动态生成,通常取决于客户端的请求。service()方法可能激活其它方法以处理请求,如doGet()或doPost()或程序员自己开发的新的方法,用的比较普遍的是doPost()方法。再次,是HTML语言,它也是必不可少的,经常是嵌入在JSP中运用,它
24、是一种静态页面开发技术,其中用的最多的是运用HTML语言建立form表单,其中有行(tr)和列(td),另外它的标签也用的比较多,主要是利用它可以在页面上任意移动,而且它的大小不会改变,还可以隐藏、变透明等等,再有就是其中的JavaScript用的也比较多,主要是写一些function方法,用来限制一些信息;最后,其他几个方面也非常重要,像JDBC用于应用程序和数据库的连接,没有这个方法就无法和数据库连接起来,所以十分重要;Mysql数据库也是Java项目开发中用到最多的一种数据库,没有数据库就无法实现信息的增、删、查、改,所以这些都是必不可少的。五、实习体会实习就这样在不知不觉中就结束了,这
25、次实习我们学到了很多知识,Java中的HTML、JSP、Servlet、JDBC等等,虽然这些知识我并没有学得很精通、深邃,也只是掌握了一点皮毛而已,不过对于JAVA我们还是有了更深刻的了解,知道了Java的博大精深,此外我还学到了另外一种数据库,Mysql数据库,这是一个小型数据库,与以前的SQL Server 有相同也有不同,同时还学会了如何运用MyEclipse开发工具等等。同时也学到了项目开发的思考角度和基本流程,提高了我们分析和解决问题的能力,锻炼了我们实际动手操作能力,为以后的工作打下了坚实的基础。实习就快结束了,在此我要特别感谢几位老师,首先是带领我们实习的刘黎志老师,对我们尽心尽力,经常到实习基地监督指导我们,感谢老师对于我们的关心和照顾;其次,就是要感谢带领我们进行第一阶段学习的软帝指导老师杨涛老师,他细心的教授我们知识,对没听懂的同学一一辅导,在他的讲解下我们学到了很多基础知识;最后要感谢带领我们做项目的马文成老师,他的耐心讲解让我们感受到了做项目的乐趣,哪位同学有错误他就会一一帮助修改,真的非常感谢他们!- 6 -
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100