怎样写一个javaee企业应用实验,体系结构中包含web层,ejb层与jpa

怎样写一个javaee企业应用实验,体系结构中包含web层,ejb层与jpa,第1张

转载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里向数据库发送请求返回结果用什么接收、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9803691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存