J2EE编程技术实验报告书_第1页
J2EE编程技术实验报告书_第2页
J2EE编程技术实验报告书_第3页
J2EE编程技术实验报告书_第4页
J2EE编程技术实验报告书_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、J2EE编程技术实验报告书专业:软件工程指导老师:罗翌陈 学号:0800350114姓名:凌浩实验一 JSP网页设计一、实验目的掌握J2EE JSP+Servlet+JavaBean开发模式开发JSP网页步骤;掌握该开发模式实现用户登录页面功能。二、实验环境PC系列微机,CPU2G以上,内存1G以上,Windows XP,MyEclipse6.5以上。三、实验步骤1、创建Servlet LoginServlet实现登录验证编写该Servlet实现登录验证并进行配置。2、创建login.jsp、admin.jsp、user.jsp这3个jsp的页面采用的JSP+JavaBean开发模式中相同。3

2、、调试程序是否正常运行四、实验报告LoginServlet.java:package com.servlet;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import com.dao.UserDao;i

3、mport com.dao.UserDaoImpl;import com.model.User;public class LonginServlet extends HttpServlet public LonginServlet() super();public void destroy() super.destroy(); public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException public void doPost(Http

4、ServletRequest request, HttpServletResponse response)throws ServletException, IOException String a="123"User user=new User();user.setUsername(request.getParameter("username");user.setUserpassword(request.getParameter("password");user.setRole(request.getParameter("r

5、ole");UserDao userdao=new UserDaoImpl();if(userdao.login(user)if(user.getRole().equals("admin")request.getRequestDispatcher("Admin.jsp").forward(request,response);elserequest.getRequestDispatcher("User.jsp").forward(request, response);elserequest.setAttribute("

6、;errormessage", "error");request.getRequestDispatcher("login.jsp").forward(request, response);public void init() throws ServletException Login.jsp:<% page language="java" import="java.util.*" contentType="text/html;charset=gb2312"%><%St

7、ring path = request.getContextPath();String basePath = request.getScheme()+":/"+request.getServerName()+":"+request.getServerPort()+path+"/"%><!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html> <head> <base href="<

8、;%=basePath%>"> <title>My JSP 'login.jsp' starting page</title> </head> <body> <center> <form action="Login" method="post"> <h3>登录</h3> <% if(request.getAttribute("errormessage")!=null) %><label

9、 style="color:red;font-size:20px;" ><%out.write("账号或密码错误");%></label><% %> <table> <tr><td>账号:</td><td><input type="text" name="username" size="20"/></td></tr> <tr><td>密

10、码:</td><td><input type="password" name="password" size="20"/></td></tr> <tr><td colspan="2" align="center"> </td></tr> <tr><td colspan="2" align="center"><input

11、type="submit" value="登录"/> <input type="reset" value="清空"/></td></tr> </table> </form> </center> </body></html><% page language="java" import="java.util.*" contentType="text/html;ch

12、arset=gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+":/"+request.getServerName()+":"+request.getServerPort()+path+"/"%>Admin.jsp:<!DOCTYPE HTML PUBLIC "-/W3C/DTD HTML 4.01 Transitional/EN"><html&

13、gt; <head> <base href="<%=basePath%>"> <title>My JSP 'Admin.jsp' starting page</title> </head> <body> <h3 style=color:blue>登录成功</h3><hr/> 用户信息:<br/> 用户类型:ADMIN<br/>用户账号:<%=request.getParameter("username

14、")%> <br/>用户密码:<%=request.getParameter("password")%> <br/> </body></html>五、实验小结通过这一次实验,我基本掌握了J2EE JSP+Servlet+JavaBean开发模式开发JSP网页步骤;掌握该开发模式实现用户登录页面功能。做完实验,感觉对于书本上的一些知识有了客观,清晰的认识,真正做到了把理论与实践相结合。实验二 JSP网站设计一、实验目的掌握JSP+DAO的网站开发步骤;理解JSP+DAO网站模式的优缺点。二、实验环境P

15、C系列微机,CPU2G以上,内存1G以上,Windows XP,MyEclipse6.5三、实验步骤1、编写POJO User类 2、编写或使用原来的DBConnection类获得数据库连接3、创建数据访问抽象层接口UserDAO 4、创建数据访问实现类UserDAOImpl 5、创建登录需要的JSP页面页面有:login.jsp、login_do.jsp、admin.jsp、user.jsp。流程见作业JSP-DAO,修改有关的程序、数据库及名称。4、 实验报告程序源代码如下:User.java:package com.model;public class User private Stri

16、ng username;private String userpassword;private String role;public String getRole() return role;public void setRole(String role) this.role = role;public String getUsername() return username;public void setUsername(String username) this.username = username;public String getUserpassword() return userp

17、assword;public void setUserpassword(String userpassword) this.userpassword = userpassword;UserDAO.java:package com.dao;import com.model.User;public interface UserDao boolean login(User user);UserDaoImpl.java:package com.dao;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql

18、.ResultSet;import java.sql.SQLException;import com.conn.DBConnection;import com.model.User;public class UserDaoImpl implements UserDao public boolean login(User user) Connection conn=DBConnection.getConnection();ResultSet rs=null;PreparedStatement st=null;try st=conn.prepareStatement("select *

19、from "+user.getRole()+" where username=? and userpassword=?");st.setString(1, user.getUsername();st.setString(2, user.getUserpassword();rs=st.executeQuery();if(rs.next()return true; catch (SQLException e) e.printStackTrace();return false;DBConnection.java:package com.conn;import java.

20、sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class DBConnection public static Connection getConnection()Connection conn=null;try Class.forName("org.gjt.mm.mysql.Driver");try conn=DriverManager.getConnection("jdbc:mysql:/localhost:3306/test",&qu

21、ot;root","sa"); catch (SQLException e) e.printStackTrace(); catch (ClassNotFoundException e) e.printStackTrace();return conn;5、 实验小结 通过第二次实验,对于Servlet的工作原理和Servlet编程基本技能,我已经有了更深刻的认识,不再局限于书本上的理论知识,通过上网查找资料,我也扩充了自己的视野范围。而对于JSP工作原理JSP脚本元素、指令等,JDBC工作原理,我也初步掌握了,同时我也掌握了基于数据源访问数据库等技术,JSP+DAO

22、的网站开发步骤;理解了JSP+DAO网站模式的优缺点。实验三 Web Service编程实验一、实验目的掌握J2EE JSP+servlet+web service开发模式开发J2EE的web服务;掌握该开发模式实现用户访问web服务及web服务的业务逻辑功能。二、实验环境PC系列微机,CPU2G以上,内存1G以上,Windows XP,MyEclipse6.5以上。三、实验步骤1、创建Iwebservice.java实现J2EE的web 业务逻辑的接口。编写该Iwebservice.java实现web 业务逻辑的接口及参数描述。2、创建webserviceImpl.java实现J2EE的we

23、b 业务逻辑编写该webserviceImpl.java实现计算逻辑并将结果写入数据库,返回计算结果和数据库写入成功标记。3、调试程序是否正常运行四、实验报告网站程序源代码:Iwebservice.java:package com.testservice;public interface ITestService public String example(String message);public String Sort(String str);webserviceImpl.java:public class TestServiceImpl implements ITestService

24、public String example(String message) return message;public String Sort(String str) String splits=str.split(" ");Integer Insplits=new Integersplits.length;for(int i=0;i<Insplits.length;i+)Insplitsi=Integer.valueOf(splitsi);Integer temp=0;temp=Insplits0;for(int i=0;i<Insplits.length;i

25、+)for(int j=0;j<Insplits.length-i-1;j+)if(Insplitsj>Insplitsj+1)temp=Insplitsj;Insplitsj=Insplitsj+1;Insplitsj+1=temp;String result=new String();for(int i=0;i<Insplits.length;i+)result+=Insplitsi.toString()+" "Connection conn=DBConnection.getConnection();try PreparedStatement st=c

26、onn.prepareStatement("insert into webservice(sortedstr) values(?)");st.setString(1, result);st.executeUpdate(); catch (SQLException e) e.printStackTrace();return "fail"return "success"Sort.java:public class Sort protected String in0;public String getIn0() return in0;pub

27、lic void setIn0(String value) this.in0 = value;SortSPonse.Java:public class SortResponse protected String out;public String getOut() return out;public void setOut(String value) this.out = value;5、 实验小结 通过第三次实验,我了解了WEB服务的基本概念,对WEB服务技术的优缺点有了客观上的理解。通过实验课,我了解了WEB服务的基本步骤。同时也比较J2EE与.net的web服务开发的相同点与不同点,做到

28、横向与纵向的比较。实验4.J2EE与EJB数据库编程一、实验目的掌握J2EE JSP+servlet+EJB开发模式开发J2EE的EJB组件;掌握该开发模式实现用户访问EJB及EJB组件功能。二、实验环境PC系列微机,CPU2G以上,内存1G以上,Windows XP,MyEclipse6.5以上。三、实验步骤1、创建ejbsession.java实现会话 EJB的计算逻辑功能。编写该ejbsession.java实现EJB业务逻辑功能。2、创建ejbentity.java实现实体EJB的数据模型。编写该ejbentity.java实现用户账户的数据模型。3、创建ejbmessage.java

29、实现用户提交信息触发事件,完成逻辑计算和实体EJB对象的修改。4、调试程序是否正常运行四、实验报告网页程序源代码:Ejbentity.java:public class Ejbentity implements StatefulCalculatorRemote private int a = 0;private int b = 0;public int add() return a + b;public void setA(int a) this.a = a;public void setB(int b) this.b = b;public void destory() System.out.

30、println("EJB StatefullCalculator 即将销毁");public void created() System.out.println("EJB StatefullCalculator 已经创建完毕");public void passive() System.out.println("EJB StatefullCalculator 准备钝化");public void active() System.out.println("EJB StatefullCalculator 已经激活");

31、public void remove() System.out.println("EJB StatefullCalculator 请求容器销毁当前 Bean 实例");Ejbentity.java:public class StudentFacade implements StudentFacadeLocal public static final String USERNAME = "username"public static final String PASSWORD = "password"public static fina

32、l String AGE = "age"PersistenceContextprivate EntityManager entityManager;public void save(Student entity) LogUtil.log("saving Student instance", Level.INFO, null);try entityManager.persist(entity);LogUtil.log("save successful", Level.INFO, null); catch (RuntimeExceptio

33、n re) LogUtil.log("save failed", Level.SEVERE, re);throw re;public void delete(Student entity) LogUtil.log("deleting Student instance", Level.INFO, null);try entity = entityManager.getReference(Student.class, entity.getId();entityManager.remove(entity);LogUtil.log("delete su

34、ccessful", Level.INFO, null); catch (RuntimeException re) LogUtil.log("delete failed", Level.SEVERE, re);throw re;public Student update(Student entity) LogUtil.log("updating Student instance", Level.INFO, null);try Student result = entityManager.merge(entity);LogUtil.log(&qu

35、ot;update successful", Level.INFO, null);return result; catch (RuntimeException re) LogUtil.log("update failed", Level.SEVERE, re);throw re;public Student findById(Integer id) LogUtil.log("finding Student instance with id: " + id, Level.INFO,null);try Student instance = enti

36、tyManager.find(Student.class, id);return instance; catch (RuntimeException re) LogUtil.log("find failed", Level.SEVERE, re);throw re;SuppressWarnings("unchecked")public List<Student> findByProperty(String propertyName,final Object value, final int. rowStartIdxAndCount) LogU

37、til.log("finding Student instance with property: " + propertyName+ ", value: " + value, Level.INFO, null);try final String queryString = "select model from Student model where model."+ propertyName + "= :propertyValue"Query query = entityManager.createQuery(qu

38、eryString);query.setParameter("propertyValue", value);if (rowStartIdxAndCount != null && rowStartIdxAndCount.length > 0) int rowStartIdx = Math.max(0, rowStartIdxAndCount0);if (rowStartIdx > 0) query.setFirstResult(rowStartIdx);if (rowStartIdxAndCount.length > 1) int rowCo

39、unt = Math.max(0, rowStartIdxAndCount1);if (rowCount > 0) query.setMaxResults(rowCount);return query.getResultList(); catch (RuntimeException re) LogUtil.log("find by property name failed", Level.SEVERE, re);throw re;public List<Student> findByUsername(Object username,int. rowStar

40、tIdxAndCount) return findByProperty(USERNAME, username, rowStartIdxAndCount);public List<Student> findByPassword(Object password,int. rowStartIdxAndCount) return findByProperty(PASSWORD, password, rowStartIdxAndCount);public List<Student> findByAge(Object age, int. rowStartIdxAndCount) r

41、eturn findByProperty(AGE, age, rowStartIdxAndCount);SuppressWarnings("unchecked")public List<Student> findAll(final int. rowStartIdxAndCount) LogUtil.log("finding all Student instances", Level.INFO, null);try final String queryString = "select model from Student model"Query query = entityManager.createQuery(queryString);if (rowStartIdxAndCount != null && rowStartIdxAndCount.length > 0) int rowStartIdx = Math.

温馨提示

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

评论

0/150

提交评论