Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Calculator</title>
</head>
<body>
<h1>EJB Calculator</h1>
<form method="post" action="CalculatorFormServlet">
<table>
<tr>
<td>Enter Value of Number1</td>
<td><input type="text" name="number1"></td>
</tr>
<tr>
<td>Enter Value of Number2</td>
<td><input type="text" name="number2"></td>
</tr>
<tr>
<td><input type="submit" value="Submit"></td>
<td></td>
</tr>
</table>
</form>
</body>
</html>
CalculatorBean.java
package calcejb;
import javax.ejb.Stateless;
import javax.ejb.LocalBean;
@Stateless
@LocalBean
public class CalculatorBean {
public int add(int number1,int number2) {
return number1+number2;
}
public int subtract(int number1,int number2) {
return number1-number2;
}
public int multiply(int number1,int number2) {
return number1*number2;
}
public int divide(int number1,int number2) {
return number1/number2;
}
}
CalculatorFormServlet.java
import calcejb.CalculatorBean;
import java.io.IOException;
import java.io.PrintWriter;
import javax.ejb.EJB;
//import javax.ejb.EJB;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(name="CalculatorFormServlet", urlPatterns={"/CalculatorFormServlet"})
public class CalculatorFormServlet extends HttpServlet {
@EJB
private CalculatorBean calculatorBean;
/**
* Processes requests for both HTTP <code>GET</code> and <code>POST</code>
methods.
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
protected void processRequest(HttpServletRequest request, HttpServletResponse
response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
int number1=Integer.parseInt(request.getParameter("number1"));
int number2=Integer.parseInt(request.getParameter("number2"));
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>CalculatorFormServlet</title>");
out.println("</head>");
out.println("<body>");
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>SIES Bank</title>
</head>
<body>
<%@page import="ejbstatefull.*" %>
<%
BeanRemote remote= (BeanRemote)session.getAttribute("remote");
String choice=request.getParameter("transaction");
int amt=0;
if(choice!=null){
if(choice.equals("deposit"))
{
amt=Integer.parseInt(request.getParameter("amount"));
remote.depositAmount(amt);
out.println("Amount successfully deposited");
}
else if(choice.equals("withdraw"))
{
amt=Integer.parseInt(request.getParameter("amount"));
boolean k=remote.withdrawAmount(amt);
if(k==false)
out.println("Amount cannnot be withdrawn. Insufficient Balance");
else
out.println("Amount Successfully Withdrawn");
}
else if(choice.equals("balance"))
{
int a=remote.getBalance();
out.println("Amount in your account is "+a);
}
%>
<br><br><br><br>
<jsp:include page="operations.jsp"></jsp:include>
</body>
</html>
Bean.java
package ejbstatefull;
import javax.ejb.Stateful;
@Stateful (mappedName="beanjava")
public class Bean implements BeanRemote {
int amount=0;
public void depositAmount(int amt) {
}
amount=amount+amt;
if(amt<amount){
amount=amount-amt;
return true;
}
return false;
}
public int getBalance() {
return amount;
}
}
BeanRemote.java
package ejbstatefull;
import javax.ejb.Remote;
@Remote
public interface BeanRemote {
void depositAmount(int amt);
boolean withdrawAmount(int amt);
int getBalance();
}
openaccount.java
package bean;
import
import
import
import
import
import
import
import
ejbstatefull.BeanRemote;
java.io.IOException;
java.io.PrintWriter;
javax.naming.InitialContext;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
}
finally {
out.close();
}
transaction.java Servlet
package bean;
import
import
import
import
import
import
java.io.IOException;
java.io.PrintWriter;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
java.util.logging.Level;
java.util.logging.Logger;
javax.ejb.ActivationConfigProperty;
javax.ejb.MessageDriven;
javax.jms.JMSException;
javax.jms.Message;
javax.jms.MessageListener;
javax.jms.TextMessage;
try {
System.out.println(tmsg.getText());
} catch (JMSException ex) {
Logger.getLogger(MBean1.class.getName()).log(Level.SEVERE, null, ex);
}
}
mbServlet.java
package mb;
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
import
java.io.IOException;
java.io.PrintWriter;
java.util.logging.Level;
java.util.logging.Logger;
javax.annotation.Resource;
javax.jms.Connection;
javax.jms.ConnectionFactory;
javax.jms.JMSException;
javax.jms.Message;
javax.jms.MessageProducer;
javax.jms.Queue;
javax.jms.Session;
javax.jms.TextMessage;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet mbServlet</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Your Message " + str + "has been sent to the Server!!! Pls check
the log</h1>");
out.println("</body>");
out.println("</html>");
} finally {
out.close();
}
}
private Message createJMSMessageForjmsDest(Session session, Object messageData)
throws JMSException {
// TODO create and populate message to send
TextMessage tm = session.createTextMessage();
tm.setText(messageData.toString());
return tm;
}
private void sendJMSMessageToDest(Object messageData) throws JMSException {
Connection connection = null;
Session session = null;
try {
connection = queue.createConnection();
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer messageProducer = session.createProducer(dest);
messageProducer.send(createJMSMessageForjmsDest(session, messageData));
} finally {
if (session != null) {
try {
session.close();
} catch (JMSException e) {
Logger.getLogger(this.getClass().getName()).log(Level.WARNING, "Cannot
close session", e);
}
}
if (connection != null) {
connection.close();
}
}
}
ejpa.Employee;
ejpa.EmployeeFacadeLocal;
java.io.IOException;
java.io.PrintWriter;
javax.ejb.EJB;
javax.servlet.ServletException;
javax.servlet.http.HttpServlet;
javax.servlet.http.HttpServletRequest;
javax.servlet.http.HttpServletResponse;
}
Employee.java
package ejpa;
import
import
import
import
import
java.io.Serializable;
javax.persistence.Entity;
javax.persistence.GeneratedValue;
javax.persistence.GenerationType;
javax.persistence.Id;
@Entity
public class Employee implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
String name;
int salary;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getSalary() {
return salary;
}
java.util.List;
javax.ejb.Stateless;
javax.persistence.EntityManager;
javax.persistence.PersistenceContext;
javax.persistence.Query;
javax.persistence.criteria.CriteriaQuery;
javax.persistence.criteria.Root;
@Stateless
public class EmployeeFacade implements EmployeeFacadeLocal {
@PersistenceContext(unitName = "EntityBeanDemo-ejbPU")
private EntityManager em;
Internationalization in Struts2
index.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Employee Form with multilingual Support</title>
</head>
<body>
<h1><s:text name="global.heading"></s:text></h1>
<s:url id="indexEN" action="Locale">
<s:param name="request_locale">en</s:param>
</s:url>
<s:url id="indexES" action="Locale">
<s:param name="request_locale">es</s:param>
</s:url>
<s:url id="indexHI" action="Locale">
<s:param name="request_locale">hi</s:param>
</s:url>
<s:a href="%{indexEN}">English</s:a>
<s:a href="%{indexES}">Spanish</s:a>
<s:a href="%{indexHI}">Hindi</s:a>
<s:form action="Employee" method="post">
<s:textfield name="name" key="global.name" size="20"></s:textfield>
<s:textfield name="age" key="global.age" size="20"></s:textfield>
<s:submit name="submit" key="global.submit"></s:submit>
</s:form>
</body>
</html>
success.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Success</title>
</head>
<body>
<h1><s:property value="getText('global.success')"></s:property></h1>
</body>
</html>
Employee.java
package com.action;
import com.opensymphony.xwork2.ActionSupport;
public class Employee extends ActionSupport{
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String execute() throws Exception {
return SUCCESS;
}
Locale.java
package com.action;
import com.opensymphony.xwork2.ActionSupport;
public class Locale extends ActionSupport{
@Override
public String execute(){
return SUCCESS;
}
}
sturts.xml
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
success.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Successful Login</title>
</head>
<body>
<h1>Hello!!<s:property value="name"></s:property></h1>
</body>
</html>
error.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Invalid User</title>
</head>
<body>
<h1>Wrong Password provided</h1>
</body></html>
LoginAction.java
package com.action;
import
import
import
import
static com.opensymphony.xwork2.Action.ERROR;
static com.opensymphony.xwork2.Action.SUCCESS;
com.opensymphony.xwork2.ActionSupport;
java.sql.*;
ResultSet rs=ps.executeQuery();
while(rs.next()){
name=rs.getString(1);
ret=SUCCESS;
}
}
catch(Exception e){
ret=ERROR;
}
finally{
if(conn!=null){
try{
conn.close();
}
catch(Exception e){
}
}
}
return ret;
}
}
struts.xml
<struts>
<!-- Configuration for the default package. -->
<package name="default" extends="struts-default">
<action name="LoginAction" class="com.action.LoginAction"
method="execute">
<result name="success">success.jsp</result>
<result name="error">error.jsp</result>
</action>
</package>
</struts>
this.age = age;
}
@Override
public void validate() {
if (name == null || name.trim().equals(""))
{
addFieldError("name","The name is required");
}
if (age < 28 || age > 65)
{
addFieldError("age","Age must be in between 28 and 65");
} } }
structs.xml:<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<constant name="struts.devMode" value="true" />
<package name="helloworld" extends="struts-default">
<action name="empinfo"
class="com.tutorialspoint.struts2.Employee"
method="execute">
<result name="input">/index.jsp</result>
<result name="success">/success.jsp</result>
</action>
</package></struts>
Output:-
NewWorld.jsp:<html>
<head>
<title>Hello World</title>
</head>
<body>
<h1>Redirect Action</h1>
<form action="NewWorld.jsp">
<label for="name">Please enter your name</label><br/>
<s:textfield name="name" label="Name" size="20" />
<s:textfield name="age" label="Age" size="20" />
<s:submit name="submit" label="Submit" value="Enter" align="left"/>
</form>
</body>
</html>
HelloWorldAction.java:package com.tutorialspoint.struts2;
import com.opensymphony.xwork2.ActionSupport;
public class HelloWorldAction extends ActionSupport{
private String name;
private int age;
@Override
public String execute() throws Exception
{
return "success";
}
public String getName()
{
return name;
}
public void setName(String name)
{
this.name = name;
}
public int getAge()
{
return age;
}
public void setAge(int age) {
this.age = age;
}
Structs.xml:<struts>
<constant name="struts.devMode" value="true" />
<package name="helloworld" extends="struts-default">
<action name="hello"
class="com.tutorialspoint.struts2.HelloWorldAction"
method="execute">
<result name="success" type="redirect">
<param name="location">
/NewWorld.jsp
</param >
</result>
</action>
<action name="index">
<result >/index.jsp</result>
</action>
</package>
</struts>
Output:-