转载1 1本文主要技术采用了Servlet + JSP + EJB 30 + JPA,开发环境用的是EclipseHelios + JDK 16 + JBOSS 51 + MySQL 51数据库。
2 2 示例场景:用户通过Web页面对Employee进行创建、查找和删除。这个小例子重点是演示JPA的使用。JPA是JavaPersistence API的缩写,主要是将关系数据库的 *** 作对象化,它的j2ee的标准规范,由于其自身简单易用的优点,也是SAP推荐使用的数据库技术。
3 3准备工作:
(1) 安装JBOSS 51
(2) 安装MySQL 51
(3) 给Jboss配置数据源
首先启动mysql后,创建一个数据库叫ejbtest,然后创建一个用户jboss,密码是password,并将ejbtest的权限赋给它。
然后在路径jboss-510GA/server/default/deploy下放入mysql-dsxml文件。
Mysql-dsxml:
<datasources>
<local-tx-datasource>
<jndi-name>MySqlDS</jndi-name>
<connection-url>jdbc:mysql://localhost:3306/ejbtest</connection-url>
<driver-class>commysqljdbcDriver</driver-class>
<user-name>jboss</user-name>
<password>password</password>
</local-tx-datasource>
</datasources>
4 4开发
41先创建一个EJB Project,名字叫EmployeeEJB。
然后在META-INF目录下新建一个persistencexml文件
42开始创建我们的Entity Bean:Employee类,它是一个简单的Java Bean。
package comsapdemoejbemployeemodel;
import javaxpersistenceEntity;
import javaxpersistenceId;
@Entity
public class Employee {
@Id
privateint id;
publicint getId() {
returnid;
}
publicvoid setId(int id) {
thisid= id;
}
publicString getName() {
returnname;
}
publicvoid setName(String name) {
thisname= name;
}
privateString name;
}
43 在ejb项目中创建一个Local的SessionBean,名字叫EmployeeServicel,它的主要功能是对employee进行数据的 *** 作,包括创建、查找、删除。
接口声明:
package comsapdemoejbemployeeejb;
import javaxejbLocal;
importcomsapdemoejbemployeemodelEmployee;
@Local
public interface EmployeeServiceLocal {
publicEmployee createEmployee(int id, String name);
publicEmployee findEmployee(int id);
publicvoid deleteEmployee(int id);
}
这里是接口的实现:
package comsapdemoejbemployeeejb;
import javaxejbStateless;
import javaxejbTransactionAttribute;
import javaxejbTransactionAttributeType;
import javaxpersistenceEntityManager;
import javaxpersistencePersistenceContext;
importcomsapdemoejbemployeemodelEmployee;
/
Session Bean implementation class EmployeeService
/
@Stateless
public class EmployeeService implementsEmployeeServiceLocal {
@PersistenceContext(unitName= "EmployeeDS")
privateEntityManager em;
@Override
publicEmployee createEmployee(int id, String name) {
Employeeemp = new Employee();
empsetId(id);
empsetName(name);
empersist(emp);
returnemp;
}
@Override
@TransactionAttribute(TransactionAttributeTypeSUPPORTS)
publicEmployee findEmployee(int id) {
returnemfind(Employeeclass, new Integer(id));
}
@Override
publicvoid deleteEmployee(int id) {
Employeeemp = findEmployee(id);
if(emp != null) {
emremove(emp);
}
}
}
这样EJB项目就创建完毕了。
4 44 然后创建Web Project,名字叫EmployeeWeb。这个项目很简单,包含一个Servlet和两个页面indexjsp和resultjsp。用户在indexjsp对employee进行创建、查找、删除,然后由resultjsp负责展示结果。
Indexjsp
<%@ pagelanguage="java" contentType="text/html;charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE htmlPUBLIC "-//W3C//DTDHTML 401 Transitional//EN" ">
<html>
<head>
<meta >
<title>Insert titlehere</title>
</head>
<body>
<FORM ACTION="ShowResult">
Id:
<INPUTTYPE="text" NAME="id"/><P>
Name:
<INPUTTYPE="TEXT" NAME="name"/>
<INPUTTYPE="hidden" NAME="method"VALUE="create" />
<INPUTTYPE="SUBMIT" VALUE="Createemployee and show result">
</FORM>
<FORM ACTION="ShowResult">
Id:
<INPUTTYPE="text" NAME="id"/>
<inputTYPE="hidden" NAME="method"VALUE="find" />
<INPUTTYPE="SUBMIT" VALUE="Find employeeand show result">
</FORM>
<FORM ACTION="ShowResult">
Id:
<INPUTTYPE="text" NAME="id"/>
<inputTYPE="hidden" NAME="method"VALUE="delete" />
<INPUTTYPE="SUBMIT" VALUE="Deleteemployee and show result">
</FORM>
</body>
</html>
resultjsp
<%@ pagelanguage="java" contentType="text/html;charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE htmlPUBLIC "-//W3C//DTDHTML 401 Transitional//EN" ">
<html>
<head>
<meta >
<title>Insert titlehere</title>
</head>
<body>
<jsp:useBean id="employee"type="comsapdemoejbemployeemodelEmployee"scope="request"/>
id:<jsp:getProperty name="employee"property="id"/>,
name:<jsp:getProperty name="employee"property="name"/>
</body>
</html>
最后是Servlet ShowResult:
package comsapdemoejbservlets;
import javaioIOException;
import javaxejbEJB;
import javaxservletRequestDispatcher;
import javaxservletServletException;
import javaxservlet>
import javaxservlet>
importjavaxservlet>
import comsapdemoejbemployeeejbEmployeeServiceLocal;
importcomsapdemoejbemployeemodelEmployee;
/
Servlet implementation class ShowResult
/
public class ShowResult extends >
privatestatic final long serialVersionUID = 1L;
@EJB
privateEmployeeServiceLocal service;
/
@see >
/
public ShowResult() {
super();
// TODO Auto-generated constructor stub
}
/
@see >
/
protectedvoid doGet(>
Stringmethod = requestgetParameter("method");
if(methodequals("create")) {
Stringname = requestgetParameter("name");
Stringids = requestgetParameter("id");
intid = IntegerparseInt(ids);
Employeeem = servicecreateEmployee(id, name);
requestsetAttribute("employee",em);
}elseif (methodequals("find")) {
Stringids = requestgetParameter("id");
intid = IntegerparseInt(ids);
Employeeem = servicefindEmployee(id);
requestsetAttribute("employee",em);
}else if (methodequals("delete")){
Stringids = requestgetParameter("id");
intid = IntegerparseInt(ids);
Employeeem = servicefindEmployee(id);
if(em != null){
servicedeleteEmployee(id);
requestsetAttribute("employee",em);
}
}
RequestDispatcherdispatcher = requestgetRequestDispatcher("resultjsp");
dispatcherforward(request,response);
}
/
@see >
/
protectedvoid doPost(>
//TODO Auto-generated method stub
}
}
ResultSet 啊 一般定义的时候 就是ResultSet rs =null;rs= 你那个执行sql返回的值然后就是while(rsnext){ 这里就是你具体的 *** 作,有值就爱干嘛干嘛。}使用ResultSet对象的next方法把游标指针向下移动,用while循环依次取出数据,就可以了。
以上就是关于怎样写一个javaee企业应用实验,体系结构中包含web层,ejb层与jpa全部的内容,包括:怎样写一个javaee企业应用实验,体系结构中包含web层,ejb层与jpa、javaee里向数据库发送请求返回结果用什么接收、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)