J2EE实训报告
J2EE技术实验报告四

实验报告填写时间:图1 登录界面图2 首页2、增加用户function addusercheck() {var values=document.getElementById("adduserform").elements;//alert("***"+values[0].value);if(nullcheck(values[1].value)){alert("请输入用户名");return false;}if(nullcheck(values[2].value)){alert("请输入昵称");return false;}}图3 添加用户页面图4 添加用户成功界面3、安全退出case "safelogout":{//if(request.getSession().getAttribute("user")!=null){request.getSession().removeAttribute("user");}response.sendRedirect("Login");}break;4.cookie的使用case "showonlinepeople":{//Cookie[] kk=request.getCookies();int ck=0;for(ck=0;ck<kk.length;ck++){if(kk[ck].getName().equals("onlinelist")){String[] names=kk[ck].getValue().split("&");out.write("<table style='margin:0px auto;'>" +"" +"<tr>" +"<td colspan='2'>" +"在线人数" +names.length+"" +"</td>" +"</tr>" +"<tr>" +"<th>ID</th>" +"<th>姓名</th>" +"</tr>" +"");for(int l=0;l<names.length;l++){String[]idname=.URLDecoder.decode(names[l],"utf-8").split("#");out.write("<tr>" +"<td style='width:60px;'>" +"" +idname[0]+"</td>" +"<td style='width:60px;'>" +idname[1]+"</td>" +"" +"</tr>");}out.write("</table>");break;}}if(ck>=kk.length){out.print("暂时没有在线的人");}}break;图5 在线人数统计及时间显示五、实验中遇到的问题及解决办法:1、在使用cookie时,出现了很多问题;例如:有时候,忘记了清理缓存,源代码没有问题,在这一块纠结了半天,最后,想到是没有清理缓存。
J2ee实训总结

J2EE实训项目总结本次J2EE实训项目为期8天,培训公司是前锋科技有限有限公司,培训对象是计本121,122班的全体学生,本次的实训让学生和老师都受益匪浅,特别是让学生学到的不仅仅是课内还有课外,实训让学生们的课内知识得到了巩固,专业知识、编程水平都有很大的提高,这次实训具有一定意义,下面主要对本次实训作个总结:一.实训内容本次实训主要分为健康测试项目、android动画制作和小游戏的制作。
首先学习了UI的设计,如何使界面漂亮,美观,巩固了listview,gridview,的使用,让学生学会了动画进入界面的,和会移动的画廊等等。
在这三个项目中,除了让学生明白工作中需要能力,素质,知识之外,更重要的是学会了如何去完成一个任务,懂得了享受工作。
当遇到问题,冷静,想办法一点一点的排除障碍,到最后获取成功,一种自信心由然而生,这就是工作的乐趣。
有时候也需要虚心请教,从别人的身上真得能学习到不自己没有的东西,每一次的挫折只能使学生更接近成功。
小游戏项目,是七个人组成小组完成的,由组长带领其他6人,分配任务,每个人,都发挥自己的长处,更好地去完成任务。
对于团队开发来说,团结一致使学生深有体会。
团队的合作注重沟通和信任,不能不屑于做小事,永远都要保持亲和诚信,把专业理论运用到具体实践中,不仅加深学生对理论的掌握和运用,还让学生拥有了一次又一次难忘的开发经历,这是也是实训最大的收获。
最后实训结束对前三名的团队进行奖励,对他们进行鼓励,以及认识到团队合作的意义。
二.实训意义(1)实训是计算机科学与技术专业学生的一门主要实践性课程。
其目的是使学生们进一步加深对所学知识的理解,理论联系实际,巩固所学有关计算机基础理论知识和基本技能,学习有关计算机最新技术方面的应用,增强学生对计算机在社会生活,社会生产中应用的感性认识,深入了解计算机在各个领域中的应用状况。
(2)生产实习是学校教学的重要补充部分,是区别于普通学校教育的一个显著特征,是教育教学体系中的一个不可缺少的重要组成部分和不可替代的重要环节。
J2EE实训报告

第1章:引言随着社会的高速发展,人们生活水平的不断提高,以及工作节奏的加快,旅游逐渐成为一个热门的话题,因为其形式的多样,涉及的面比较广,成为人们放松压力,调节情绪的首要选择。
我国的计算机技术诞生于20世纪40年代,起步晚但是发展非常迅速,虽然把计算机引入管理的领域也就只有短短的30年,但是,却给管理领域带来了翻天覆地的变化。
伴随计算机的普及,人们也愿意并习惯通过计算机来获取信息资源,人们可以在最短的时间内获取旅游信息,然后拟定适合自己的旅游方案,大大的节省自己的时间、精力,获得最大限度的身心满足。
传统的管理方法采用的是人管理人的方法,由相关人员去制定一些规定并监督执行,这当然会给管理带来很多的主观性,而传统的旅游信息管理也是采用人力的自然管理和纸制记录。
在查询,更新时都是由人一条一条的记录,这样不仅需要大量的人力还需要大量的办公用品。
这必然造成对人力和物力的浪费,而且由于工作量大并且繁琐,就会带来效率方面的低下,而这些就会无形地使利润下滑。
旅游信息管理系统正是在这样的背景下应运而生了。
现实的要求是旅游信息管理需要一个既可以节省人力物力又可以节省财力,并且在同等时间的基础上提高效率,从而提高整个利润。
旅游信息管理系统采取的是信息分类管理的理念,根据旅游所涉及的方方面面的具体要求进行系统开发的。
因此本次借此次实训的机会我们根据社会对于旅游的管理问题上而做的一个地方的旅游信息管理系统;安康旅游信息管理系统。
旅游信息管理信息系统是以客户机/服务器结构为基础。
当客户发出请求后服务器会快速的对其的请求作出响应并解决其请求。
这就解决了在人力方面的浪费。
由于请求和解决请求的过程都是通过计算机完成的这样就解决了人力的繁琐,还避免了传统管理方法的一些由于人的疏忽造成的错误。
提高了工作的正确率和可靠性。
本次实训设计的安康旅游信息管理系统具体内容包括:系统管理员模块、旅游团信息模块、景区信息模块、退出系统模块等。
并在这些模块中完成了各个环节的添加、修改、删除、查询等功能。
j2ee实验报告

j2ee实验报告J2EE实验报告引言:J2EE(Java 2 Platform, Enterprise Edition)是一种用于开发企业级应用程序的Java平台。
它提供了一套强大的工具和框架,使开发人员能够构建可扩展、可靠且安全的应用程序。
本实验报告将介绍我在J2EE实验中的学习和实践经验。
一、J2EE概述J2EE是一种基于Java语言的企业级应用开发平台,它包含了一系列的规范和API(Application Programming Interface),用于开发、部署和管理分布式应用程序。
J2EE的核心组件包括Servlet、JSP、EJB和JDBC等,它们共同构成了一个完整的应用程序框架。
二、Servlet和JSPServlet和JSP是J2EE中常用的Web开发组件。
Servlet是运行在服务器端的Java程序,用于接收和处理客户端的请求。
JSP(JavaServer Pages)则是一种将Java代码嵌入到HTML页面中的技术,它可以动态生成HTML内容。
在实验中,我学习了如何使用Servlet和JSP开发一个简单的用户管理系统。
通过编写Servlet和JSP,我能够实现用户注册、登录和信息展示等功能。
三、EJBEJB(Enterprise JavaBeans)是J2EE中的另一个重要组件,它提供了一种分布式的、事务性的应用程序开发模型。
EJB可以将应用程序逻辑封装成可重用的组件,这些组件可以在不同的服务器上进行部署和调用。
在实验中,我学习了如何使用EJB开发一个简单的银行账户管理系统。
通过定义和实现EJB的接口和实现类,我能够实现账户的增删改查等操作。
四、JDBCJDBC(Java Database Connectivity)是一种用于与数据库进行交互的API。
在J2EE应用程序中,数据库是非常重要的数据存储和管理工具。
通过JDBC,我们可以使用Java代码连接数据库,并执行SQL语句进行数据的读写操作。
J2ee实验报告_11

J2EE实验报告**: ***班级: 信本 1003 学号: ***********2013年12月目录目录 (2)实验一Tomcat+JSP配置 (3)实验二JSP程序的编写 (6)实验三JDBC的应用 (11)实验四SERVLET编程 (15)实验五JavaBean (18)实验六EJB (23)实验一Tomcat+JSP配置一、目的1、掌握Tomcat+JSP的一般配置2、理解基于MVC开发模式的一般形式二、准备工作1、JDK及JRE的安装JDK即平常说的java环境,也就是J2SE所用的开发环境,也称J2SDK。
可在sun官方站()下载得到。
注意:在不同平台有不同的安装包,windows平台请下载Windows Offline Installation的SDK,目前新的版本为1.6。
我们采用JDK1.5版本,其安装文件名为:j2sdk-1_4_2_04-windows-i586-p.exe执行此文件,安装过程中选择一个安装目录,我们假定JDK安装在D:\JAVA\jdk1.5下(这个目录仅用于实验演示,可安装在其它目录中,有关配置均需要将此目录路径替换成实际安装的目录路径)。
如果需要它的HTML 格式API帮助,可解压文件j2sdk-1_4_2-doc.zip到D:\JAVA\jdk1.5\doc 目录下。
JRE即J2EE的相关开发环境,下载地址同上,安装过程简单,不再说明。
将其安装到D:\JAVA\JRE目录即可。
目前的版本为5.5。
实验所用的文件为java_ee_sdk-5_02-windows-nojdk.exe。
注意:有一种包含JDK的JRE。
见java_ee_sdk-5_03-windows.exe文件。
2、TOMCAT的安装可到TOMCAT的官方网站(/site/downloads)下载tomcat。
目前的版本为6.0。
我们可使用评价较好的5.0或5.5版本。
安装过程也较简单,安装过程选择全全部安装,且将其安装到D:\TOMCAT下即可。
J2EE最佳实践总结[5篇范文]
![J2EE最佳实践总结[5篇范文]](https://img.taocdn.com/s3/m/6447f90f2e60ddccda38376baf1ffc4ffe47e212.png)
J2EE最佳实践总结[5篇范文]第一篇:J2EE最佳实践总结J2EE最佳实践总结1、始终使用 MVC 框架。
2、在每一层都应用自动单元测试和测试管理。
3、按照规范来进行开发,而不是按照应用服务器来进行开发。
4、从一开始就计划使用 J2EE 安全性。
5、创建您所知道的。
6、当使用 EJB 组件时,始终使用会话 Facades.7、使用无状态会话 bean,而不是有状态会话 bean.8、使用容器管理的事务。
9、将 JSP 作为表示层的首选。
10、当使用HttpSession 时,尽量只将当前事务所需要的状态保存其中,其他内容不要保存在 HttpSession 中。
11、在WebSphere 中,启动动态缓存,并使用WebSphere servlet 缓存机制。
12、为了提高程序员的工作效率,将 CMP 实体 bean 作为 O/R 映射的首选解决方案。
1.始终使用 MVC 框架。
MVC 框架可以将业务逻辑(Java beans 和EJB 组件)、控制器逻辑(Servlets/Struts 动作)、表示层(JSP、XML/XSLT)清晰地分离开来。
良好的分层可以带来许多好处。
MVC 框架对于成功使用J2EE 是如此重要,以致没有其他最佳实践可以与其相提并论。
模型-视图-控制器(MVC)是设计 J2EE 应用程序的基础。
MVC 将您的程序代码简单地划分下面几个部分:负责业务逻辑的代码(即模型——通常使用 EJB 或者普通的 Java 对象来实现)。
负责用户界面显示的代码(即视图——通常通过JSP 及标记库来实现,有时也使用 XML 和 XSLT 来实现)。
负责应用程序流程的代码(即控制器——通常使用Java Servlet或像 Struts 控制器这样的类来实现)。
如果您不遵循基本的 MVC 框架,在开发过程中就会出现许多的问题。
最常见的问题就是在视图部分添加了太多的成分,例如,可能存在使用 JSP 标记来执行数据库访问,或者在 JSP 中进行应用程序的流程控制,这在小规模的应用程序中是比较常见的,但是,随着后期的开发,这样做将会带来问题,因为JSP 逐步变得越来越难以维护和调试。
j2ee实验一实验报告

《JAVA EE企业应用开发》综合性、设计性实验成绩单开设时间:2012学年第一学期班级10信管1班学号 1.2010302601332.2010305601313.201030560135 姓名 1.张伟东2.吴雨瑞3.郑易东实验题目实验一开发struts2程序实验成绩教师签名《JAVA EE企业应用开发》实验报告实验题目:开发struts2程序实验指导教师:杨春实验组长(姓名+学号):张伟东201030560133组员(姓名+学号):张伟东201030560133吴雨瑞201030560131郑易东201030560135实验时间:2012年11月组长签名:(手写)2012年12 月 2 日1、实验目的(1分)1).掌握用不同框架模式开发JAVA EE程序;2).使用JSP和不同框架混合模式编写一个简单的用户信息管理系统(具体描述见实验步骤部分)2、实验内容(2分)考虑实现一个数据库单表操作的简单JAVA EE WEB应用,使用struts2 框架框架中的实现.系统需求如下:普通用户功能:用户登录系统;用户注册;修改个人信息;登录后查看系统资源。
系统管理员:全部用户列表;根据姓名模糊查询符合条件的用户或用户列表;删除用户。
3、实验步骤与结果(3分)主要开发步骤如下:1)数据可设计,生成数据库;2)创建web project,名为xs;3)功能模块包划分;4)搭建系统框架;5)普通用户功能实现:注册、登录、修改个人信息等;6)系统管理员功能实现:查询、删除等。
实现结果,截图如下:数据库:Jsp界面(部分):4、架构设计+源码(2分)架构设计如下图:源码(主要):Guanli.actionpackage action;import java.util.Map;import service.IGuanliService;import service.impl.GuanliService;import vo.Guanli;import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; public class GuanliAction extends ActionSupport{protected Guanli guanli;protected IGuanliService guanliService;protected String username;protected String password;public Guanli getGuanli() {return guanli;}public void setGuanli(Guanli guanli) {this.guanli = guanli;}public IGuanliService getGuanliService() {return guanliService;}public void setGuanliService(IGuanliService guanliService) {this.guanliService = guanliService;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String execute() throws Exception{Guanlig=guanliService.validateGuanli(guanli.getUsername(),guanli.getPassword());if(g!=null){Map session=ActionContext.getContext().getSession();session.put("guanli", g);return SUCCESS;}else{return ERROR;}}}Zhuce.actionpackage action;import java.util.Map;import service.IZhuceService;import vo.Guanli;import vo.Zhuce;import java.util.List;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class ZhuceAction extends ActionSupport{protected Zhuce zhuce;protected IZhuceService zhuceService;private String username;private String password;private String sex;private String address;public Zhuce getZhuce() {return zhuce;}public void setZhuce(Zhuce zhuce) {this.zhuce = zhuce;}public IZhuceService getZhuceService() {return zhuceService;}public void setZhuceService(IZhuceService zhuceService) {this.zhuceService = zhuceService;}public String getUsername() {return username;}public void setUsername(String username) {ername = username;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getAddress() {return address;}public void setAddress(String address) {this.address = address;}public String execute() throws Exception{Zhucez=zhuceService.validateZhuce(zhuce.getUsername(),zhuce.getPassword());List zcs=zhuceService.getZhuce(zhuce.getUsername());Map request=(Map)ActionContext.getContext().get("request");request.put("zcs", zcs);if(z!=null){Map session=ActionContext.getContext().getSession();session.put("zhuce", z);return SUCCESS;}else{return ERROR;}}public String zc() throws Exception{zhuceService.saveZhuce(zhuce);return SUCCESS;}public String grxx() throws Exception{List zcs=zhuceService.getZhuce(username);Map request=(Map)ActionContext.getContext().get("request");request.put("zcs", zcs);return SUCCESS;}public String sc() throws Exception{zhuceService.dl(zhuce.getUsername());List zcs=zhuceService.getZhuce1();Map request=(Map)ActionContext.getContext().get("request");request.put("zcs", zcs);return SUCCESS;}public String xg() throws Exception{zhuceService.xiugai(zhuce.getUsername(),zhuce.getPassword(),zhuce.getSex(),zhuce.get Address());List zcs=zhuceService.getZhuce(zhuce.getUsername());Map request=(Map)ActionContext.getContext().get("request");request.put("zcs", zcs);return SUCCESS;}public String cz() throws Exception{List zcs=zhuceService.cz(zhuce.getUsername());Map request=(Map)ActionContext.getContext().get("request");request.put("zcs", zcs);return SUCCESS;}}GuanliDaopackage dao.impl;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.Statement;import java.util.List;import dao.BaseDAO;import dao.IGuanliDAO;import vo.Guanli;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;public class GuanliDAO extends BaseDAO implements IGuanliDAO{public Guanli validateGuanli(String username,String password){Session session=getSession();String hql="from Guanli g where ername=? and g.password=?";Query query=session.createQuery(hql);query.setParameter(0,username);query.setParameter(1, password);List guanlis=query.list();if(guanlis.size()!=0){Guanli guanli=(Guanli)guanlis.get(0);return guanli;}session.close();return null;}}ZhuceDaopackage dao.impl;import java.util.List;import dao.BaseDAO;import dao.IZhuceDAO;import vo.Zhuce;import org.hibernate.Query;import org.hibernate.classic.Session;import org.hibernate.Transaction;public class ZhuceDAO extends BaseDAO implements IZhuceDAO{public void saveZhuce(Zhuce zhuce){Session session=getSession();Transaction tx=session.beginTransaction();session.save(zhuce);mit();session.close();}public List getZhuce(String username){Session session=getSession();Query query=session.createQuery("from Zhuce z where ername=?");query.setParameter(0, username);List zcs=query.list();session.close();return zcs;}public List getZhuce1(){Session session=getSession();Query query=session.createQuery("from Zhuce z");List zcs=query.list();session.close();return zcs;}public void dl(String username){Session session=getSession();Query query=session.createQuery("delete Zhuce z where ername=?");query.setParameter(0, username);query.executeUpdate();}public void xiugai(String username,String password,String sex,String address){ Session session=getSession();Query query=session.createQuery("update Zhuce z setername=?,z.password=?,z.sex=?,z.address=? where ername=?");query.setParameter(0, username);query.setParameter(1, password);query.setParameter(2, sex);query.setParameter(3, address);query.setParameter(4, username);query.executeUpdate();}public Zhuce validateZhuce(String username,String password){Session session=getSession();String hql="from Zhuce z where ername=? and z.password=?";Query query=session.createQuery(hql);query.setParameter(0,username);query.setParameter(1, password);List zhuces=query.list();if(zhuces.size()!=0){Zhuce zhuce=(Zhuce)zhuces.get(0);return zhuce;}session.close();return null;}public List cz(String username){Session session=getSession();Query query=session.createQuery("from Zhuce z where ername=?");query.setParameter(0, username);List zcs=query.list();session.close();return zcs;}}Struts.xml<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "/dtds/struts-2.1.dtd"><struts><include file="struts-default.xml"/><package name="default" extends="struts-default"><action name="zc" class="zhuceAction" method="zc"><result name="success">/success.jsp</result></action><action name="grxx" class="zhuceAction" method="grxx"><result name="success">/grxx.jsp</result></action><action name="cz" class="zhuceAction" method="cz"><result name="success">/cz.jsp</result></action><action name="sc" class="zhuceAction" method="sc"><result name="success">/sc.jsp</result></action><action name="xg" class="zhuceAction" method="xg"><result name="success">/xg.jsp</result></action><action name="dl2" class="guanliAction"><result name="success">/dl2s.jsp</result><result name="error">/dl2.jsp</result></action><action name="dl" class="zhuceAction"><result name="success">/dls.jsp</result><result name="error">/dl.jsp</result></action></package></struts>applicationContext.xml<?xml version="1.0" encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xmlns:p="/schema/p"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-3.0.xsd"><bean id="dataSource"class="mons.dbcp.BasicDataSource"><property name="driverClassName"value="com.mysql.jdbc.Driver"></property><property name="url"value="jdbc:mysql://localhost:3306/xs"></property><property name="username" value="root"></property><property name="password" value="123"></property></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop></props></property><property name="mappingResources"><list><value>vo/Zhuce.hbm.xml</value><value>vo/Guanli.hbm.xml</value></list></property></bean><bean id="baseDAO" class="dao.BaseDAO" abstract="true"><property name="sessionFactory"><ref bean="sessionFactory"/></property></bean><bean id="zhuceDAO" class="dao.impl.ZhuceDAO" parent="baseDAO"></bean><bean id="zhuceService" class="service.impl.ZhuceService"><property name="zhuceDAO"><ref bean="zhuceDAO"/></property></bean><bean id="zhuceAction" class="action.ZhuceAction"><property name="zhuceService"><ref bean="zhuceService"/></property></bean><bean id="guanliDAO" class="dao.impl.GuanliDAO" parent="baseDAO"> </bean><bean id="guanliService" class="service.impl.GuanliService"><property name="guanliDAO"><ref bean="guanliDAO"/></property></bean><bean id="guanliAction" class="action.GuanliAction"><property name="guanliService"><ref bean="guanliService"/></property></bean></beans>Dl.jsp(登录)<%@ page contentType="text/html;charset=utf-8" %><html><body><form action="dl.action" method="post">用户名:<input type="text" name="ername"/><br>密码:<input type="password" name="zhuce.password"/><br> <input type="submit" value="登录"></form></body></html>Grxx.jsp(显示会员信息)<%@ page contentType="text/html;charset=utf-8" %><%@ taglib prefix="s" uri="/struts-tags" %><html><head></head><body><s:iterator value="#request['zcs']" id="zhuce"><s:property value="#ername"/><s:property value="#zhuce.password"/><s:property value="#zhuce.sex"/><s:property value="#zhuce.address"/></s:iterator><a href="dls.jsp">返回</a></body></html>Zhuce.jsp(注册)<%@ page contentType="text/html;charset=utf-8" %><HTML> <BODY><table align="center"><tr><td height=50></td></tr><tr><td><form action="zc.action" method="post">用户名:<br><input type="text" name="ername"/><p>密码:<br><input type="password" name="zhuce.password"/><p>性别:<br><input type="text" name="zhuce.sex"/><p>地址:<br><input type="text" name="zhuce.address"/><p><input type="submit" value="注册" ></form> </td></tr><tr><td><a href="d.jsp">登录</a></td></tr></table></BODY></HTML>5、结论与讨论(2分)通过这次实验,我们小组成员认识到应用框架的方便之处和它的强大之处,虽然只是应用了其中的一小部分,但为接下去的学习打下基础。
J2EE_实验报告7_熟悉hibernate框架

J2EE实验报告学号姓名班级上课地点教师上课时间实验六熟悉hibernate框架1. 实验目的1.1.掌握hibernate框架搭建步骤;2. 实验环境2.1 MyEclipse2.2 Window XP2.3 MySQL4. 教师批改意见成绩签字:日期:实验内容1功能描述搭建hibernate框架,熟悉hibernate框架搭建步骤。
并编写一个测试代码,实现简单的业务处理。
2实验步骤2.1 搭建hibernate框架(0) 新建web project项目,项目名称自定义(我取名为EX_Hibernate);(1) 将hibernate需要的jar包拷贝到lib下;2.2 新建bean类在src下新增包.xmut.bean(bean必须,前缀包路径可自定义),在该包下新建类News.java:package .xmut.bean;public class News {private int id;private String title;private String content;//省略get set 方法}2.3 新建bean.hbm.xml文件在News.java 同一目录下,新建News.hbm.xml文件<?xml version="1.0"encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC"-//Hibernate/Hibernate Mapping DTD 3.0//EN""/hibernate-mapping-3.0.dtd"> <hibernate-mapping><class name=".xmut.bean.News"table="table1"> <id name="id"type="integer"><column name="id"/><generator class="native"/></id><property name="title"type="ng.String"><column name="title"length="10"/></property><property name="content"type="ng.String"><column name="content"length="10"></column></property></class></hibernate-mapping>2.4 新建hibernate.cfg.xml文件在src下新建hibernate.cfg.xml文件<!DOCTYPE hibernate-configuration PUBLIC"-//Hibernate/Hibernate Configuration DTD 3.0//EN""/dtd/hibernate-configuration-3.0.d td"><hibernate-configuration><!-- 配置session节点 --><session-factory name="foo"><!-- 配置连接数据库信息 : user password url driver_class --><property name="ername">root</property><property name="connection.password">1234</property><propertyname="connection.url">jdbc:mysql://127.0.0.1:3306/bag</propert y><propertyname="connection.driver_class">com.mysql.jdbc.Driver</property ><!-- 配置数据库方言 --><propertyname="dialect">org.hibernate.dialect.MySQLDialect</property><!-- 配置进行数据库操作时,是否需要显示sql语句 --><property name="show_sql">true</property><!-- 配置如何通过反射生成数据表 --><property name="hbm2ddl.auto">create</property><!-- 关联 hibernate 映射文件 --><mapping resource="cn/edu/xmut/bean/News.hbm.xml"/> </session-factory></hibernate-configuration>运行结果:对应的bag数据库中出现对应的table1表以及表中相应的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java EE实训报告●实习目标及意义Java EE是sun公司推出的企业级应用程序版本。
能够为我们帮助开发和部署可移植、健壮、可伸缩且安全的服务器端Java 应用程序。
Java EE 是在Java SE 的基础上构建的,它提供Web 服务、组件模型、管理和通信API,可以用来实现企业级的面向服务体系结构和Web 2.0 应用程序。
在我作为大学生的最后一个学期里,有这么一个实训机会让我更透彻的体会到Java EE应用框架的妙处,从而深刻理解这3个框架的详细应用:用Struts架构系统的表示层,Spring架构的业务层,Hibernate架构的持久层,形成一个统一的架构进行WEB开发,使系统层次划分更为清晰,减少了系统冗余代码大大增加了项目的可扩展性,降低了维护成本,提高系统开发效率,为我之后的实习工作提供了很大的帮助。
●实习任务➢基于Struts-Hibernate的Java EE整合架构,剖析Struts-Hibernate整合原理和关键技术,根据公共咨询平台系统的需求,设计并实现一个跨平台的数字化公共咨询交流平台。
实现向政府部门进行问题咨询,对咨询信息进行新增、检索、更新、删除等操作。
利用Struts-Hibernate架构降低了系统的耦合度,提高系统的可移植性,可扩展性和安全性。
达到在可扩展的企业级应用开发中有很好的前景。
规范公共咨询信息管理,提高工作效率。
➢基于Struts-Hibernate的Java EE整合架构,通过对企业级应用系统中数据表示,业务逻辑出来和数据持久化的层次化松耦合,以增强应用系统的适应性和可伸缩性,提高代码的复用性和系统开发效率。
●实习内容J2EE开发环境介绍:基于window操作系统的MyEclipse,tomcat7.0.6。
首先下载相关的软件进行配置J2EE的开发环境变量软件版本:❖jdk:jdk1.6.0_24❖Tomcat:apache-tomcat-7.0.6❖SQL:SQLyogEnt❖Eclipse:MyEclipse 8.5Hibernate配置及基本内容Struts配置及基本内容Struts-Hibernate的Java EE整合架构:开源的Struts是基于模型—视图—控制器的Web应用开发框架,其工作是在V层和C层分别提供了丰富的UI表示和强大的控制转发支持,M层优良的开发兼容性,提高了开发人员对数据模型出来的自由度高,为其与开源Hibernate的对象关系映射框架的有机整合提供技术支持。
Hibernate通过对象/关系映射描述文件在值对象和数据库表之间建立一个映射关系。
工程及主要代码:e_learning:任务一:给e_learning的注册页面中新加一项功能—真实姓名,写入代码:<td> <s:textfield name="user.zs" label="真实姓名"onblur="CheckName(document.getElementById('username').value);"id="zs"/></td>,这样注册页面中就有了真实姓名文本框了,在相应的action中定义这些属性并写入它的get、set方法,使之能提交到数据库中,并且我们要将在数据库中新加一项—真实姓名,使之与工程里的内容相一致,这样这项功能就基本完成了,当我们再次注册时就要填入我们的真实姓名了,若注册成功,数据库中将会显示用户的真实姓名。
任务二:给e_learning中新添加一项内容,使之能编辑个人的详细信息。
第一在success.jsp页面中写入代码<a href="${pageContext.request.contextPath}/userAction!loadUser.action">编辑个人详细信息</a>,使之将点击编辑个人详细信息按钮时,直接跳转到详细信息页面—detailinfo.jsp页面,并且在detailinfo.jsp页面中加入代码:<%String path = request.getContextPath();String basePath = request.getScheme() + "://"+ request.getServerName() + ":" +request.getServerPort()+ path + "/";%><s:form action="userAction!editUser.action"><input type="hidden"name="action"value='<s:propertyvalue="action"/>'/><s:if test="user.id != null">aa<s:property value="user.id"/>,bb <s:property value="ername"/>,cc<s:property value="user.address"/>,</s:if><table align="center"width=100%height=100%background="images/backg.jpg"><tr><td><table border="0"style="position:relative;top:120px;left:230px"><tr><td align="right"><s:textfield name="user.qq"label="qq帐号"/></td></tr><tr><td align="right"><s:hidden name="user.id"/><s:hidden name="ername"/><s:hidden name="user.password"/><s:hidden name="user.email"/><s:hidden name="user.emailstop"/><s:textfield name="user.address"label="地址"/> </td></tr><tr><!--<s:submit id="btnReg" />--><td></td><td><input type="image"src="images/submit.jpg"id="btnReg"/> </td><td><a href="javaScript:document.reg.reset();"style="border: 0"><img src="images/reset.jpg"border="0"></a></td></tr></table></td></tr></table></s:form><s:debug></s:debug> 。
使此页面具有编辑个人详细信息的功能。
并且必须在相应的action里定义这些属性并加入get、set方法,使之能提交到数据库中,当修改详细信息成功时,我们将会在数据库中看到相应的内容。
就此,这项功能就基本完成。
S2SH-Page:流程图实现功能及主要代码:1、分页及每页显示信息数代码:<tr><td colspan="5">共${page.totalCount}条记录共${page.totalPage}页每页显示${page.everyPage}条当前第${page.currentPage}页 <c:choose><c:when test="${page.hasPrePage eq false}"><<首页 <上页 </c:when><c:otherwise><ahref="${pathurl}?&pageAction=first${urlParams}"><<首页 </a> <a href="${pathurl}?pageAction=previous${urlParams}" /><上一页</a></c:otherwise></c:choose> || <c:choose><c:when test="${page.hasNextPage eq false}"> 下页> 尾页>></c:when><c:otherwise><a href="${pathurl}?&pageAction=next${urlParams}">下一页> </a> <a href="${pathurl}?pageAction=last${urlParams}"/>末页>></a></c:otherwise></c:choose> <SELECT name="indexChange"id="indexChange"onchange="getCurrentPage(this.value);"><c:forEach var="index"begin="1"end="${page.totalPage}" step="1"><option value="${index}" ${page.currentPage eq index ? "selected" : ""}>第${index}页</option></c:forEach></SELECT> 每页显示:<select name="everyPage"id="everyPage"onchange="setEveryPage(this.value);"><c:forEach var="pageCount"begin="5"end="${page.totalCount}" step="5"><option value="${pageCount}" ${page.everyPage eq pageCount ? "selected" : ""}>${pageCount}条</option></c:forEach></select></td></tr>2、添加、编辑、删除主要代码:<td><ahref="${pageContext.request.contextPath}/userAction!addUser.actio n">添加</a>|<ahref="${pageContext.request.contextPath}/userAction!loadUser.acti on?user.id=${user.id}">编辑</a>|<ahref="${pageContext.request.contextPath}/userAction!delUser.actio n?user.id=${user.id}">删除</a></td>S2shoaDemo:Display:CK-editor:流程图:实现功能及主要代码:工具栏代码:<ckfinder:setupCKEditor basePath="/ckeditor_finder/ckfinder/"editor="editor1"/><ckeditor:replace replace="editor1"basePath="/ckeditor_finder/ckeditor /"/>实训心得:时光如梭,光阴似箭,三个星期的实训一晃而过,回想起三个星期来的学习过程,心里感触颇多。