나는 개인 필드와 setter 및 getter 메서드가있는 하나의 클래스를 가지고 있다는 점에서 mvc 개념을 사용하고 있으며, 다른 페이지 EmployeeDetail에 도달 할 때 모든 기능이 로그인 클래스가 있다는 점에서 EmployeeBean 인 하나의 로그인 클래스 하나의 작업 클래스가 있습니다. jsp 및 그 후 정상적인 URL을 통해 DailyWork.jsp로 이동할 때 세션 변수를 검색 할 수 있으며 empID 인 하나의 변수를 유지했으며 세션을 유지하지 않아도 인쇄되고 있지만 여전히 도달하고 있지만 이동할 때 DailyWorkUpdate 서블릿에 연결하고 주어진 방식으로 세션 변수 수신을 시도합니다.
String z = emp.getName();
System.out.println("....name is " +z);
System.out.println("....n is " +n);
emp.setEmpId(emp.getEmpId());
n은 정수이며 0이고 z는 null을 나타내는 문자열입니다.이 문제를 해결하도록 도와주세요.
여기에 전체 코드가 있습니다 ...
public class Employee {
private int empId;
private String Name;
private String phone;
private String email;
private float salary;
private String designation;
private String password;
private String access_type;
private boolean valid;
private String field1;
private String field2;
private String field3;
public String getAccess_type() {
return access_type;
}
public void setAccess_type(String access_type) {
this.access_type = access_type;
}
public boolean isValid() {
return valid;
}
public String getField1() {
return field1;
}
public void setField1(String field1) {
this.field1 = field1;
}
public String getField2() {
return field2;
}
public void setField2(String field2) {
this.field2 = field2;
}
public String getField3() {
return field3;
}
public void setField3(String field3) {
this.field3 = field3;
}
public void setValid(boolean valid) {
this.valid = valid;
}
public int getEmpId() {
return empId;
}
public void setEmpId(int empId) {
this.empId = empId;
}
public String getName() {
return Name;
}
public void setName(String Name) {
this.Name = Name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public float getSalary() {
return salary;
}
public void setSalary(float salary) {
this.salary = salary;
}
public String getDesignation() {
return designation;
}
public void setDesignation(String designation) {
this.designation = designation;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
EmployeeBean 클래스
public class EmployeeBean {
public Employee login(int id, String password) {
Connection con = null;
Employee emp = null;
Statement stmt = null;
try {
con = ConnectionManager.getConnection();
stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM emp WHERE empId
='"+id+"' and password ='"+password+"'");
boolean more = rs.next();
if (!more) {
System.out.println("Sorry, you are not a registered user! Please sign up first");
emp.setValid(false);
}
else if(more)
{
emp = new Employee();
emp.setEmpId(rs.getInt("empId"));
emp.setName(rs.getString("empName"));
emp.setPhone(rs.getString("phone"));
emp.setEmail(rs.getString("email"));
emp.setSalary(rs.getFloat("salary"));
emp.setDesignation(rs.getString("desig"));
emp.setPassword(rs.getString("password"));
emp.setAccess_type(rs.getString("employee_type"));
String Name = rs.getString("empId");
System.out.println("id is :" +Name);
emp.setValid(true);
}
} catch (SQLException ex) {
} finally {
try {
if (stmt != null) {
stmt.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
Logger.getLogger(EmployeeBean.class.getName()).log(Level.SEVERE, null, ex);
}
}
return emp;
}
로그인. 자바
@WebServlet(name = "Login", urlPatterns = {"/Login"})
public class Login extends HttpServlet {
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(true);
Employee emp = new Employee();
int id = Integer.parseInt(request.getParameter("empId"));
String password = request.getParameter("password");
EmployeeBean eb = new EmployeeBean();
emp = eb.login(id,password);
if(emp.isValid())
{
session.setAttribute("emp",emp);
response.sendRedirect("EmployeeDetail.jsp");
}
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
EmployeeDetail.jsp
<%@page import="com.info.EmployeeBean"%>
<%@page import="com.info.Employee"%>
<%@page import="java.util.List"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="style.css" rel="stylesheet" type="text/css"/>
<title>Employee Update Page</title>
</head>
<body>
<ul>
<li class='has-sub'>
<a href="./DailyWork.jsp"><span>Update Your Work</span></a></li>
<li class='has-sub'>
<a href="./WorkDetail"><span>View Your Work Details</span></a></li>
<li class='has-sub'>
<a href="./ExcelFileGen.jsp"><span>Generetae Excel Sheet</span></a></li>
</ul>
<table align=center cellspacing=1 cellpadding=3>
<p>Emp Id: ${info.empId}</p>
<p> name is :${info.name}</p>
<p>password is: ${info.password}</p>
<p>designation: ${info.designation}</p>
<p>email : ${info.email}</p>
<p>salary: ${info.salary}</p>
</table>
</body>
</html>
Login.jsp
<%@page import="com.info.EmployeeBean"%>
<%@page import="com.info.Employee"%>
<%@page import="java.util.List"%>
<html>
<form name="form" action="Login" method="post">
<input type="text" name="empId" /><br>
<input type="password" name ="password" /><br>
<input type="submit" name="login" value="login" >
</form>
</html>
DailyWorkUpdate.jsp
<%@page import="com.info.EmployeeBean"%>
<%@page import="com.info.Employee"%>
<%@page import="java.util.List"%>
<html>
<head>
</head>
<body>
<%
Employee emp = (Employee)session.getAttribute("emp");
session.setAttribute("emp",emp);
%>
<ul>
<li class='has-sub'>
<a href="./DailyWork.jsp"><span>Update Your Work</span></a>
</li>
<li class='has-sub'>
<a href="./WorkDetail"><span>View Your Work Details</span></a>
</li>
<li class='has-sub'>
<a href="./ExcelFileGen.jsp"><span>Generetae Excel Sheet</span></a>
</li>
</ul>
<table width="780" align=center cellspacing=0 border="4" cellpadding=0>
<tr>
<td>
<fieldset id="fieldhead">
<legend>Update your DailyWork</legend>
<BR>
<table align=center cellspacing=1 cellpadding=3>
<form name ="form" method= get action="DailyWorkUpdate">
<center>
<tr>
<Td>Support HRS</td>
<TD><input name="field1"></td>
</tr>
<tr>
<td> emp id</td>
<td>${emp.empId}</td>
</tr>
<tr>
<Td>Leave HRS</td>
<TD><input name="field2" ></td>
</tr>
<tr>
<Td>Project name</td>
<TD><input name="field3"></td>
</tr>
<tr><td><input type="submit" value="DailyWorkUpdate" />
<button type=reset accesskey="R"><u>R</u>efresh</button></td></tr>
</center>
</table>
<BR>
</fieldset>
</td>
</tr>
</table>
</body>
</html>
@WebServlet(name = "DailyWorkUpdate", urlPatterns = {"/DailyWorkUpdate"})
public class DailyWorkUpdate extends HttpServlet
{
protected void processRequest(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession(true);
Employee emp = (Employee)session.getAttribute("emp");
session.setAttribute("emp",emp);
java.sql.Date date = new java.sql.Date(new java.util.Date().getTime());
emp = new Employee();
int n = emp.getEmpId();
String z = emp.getName();
System.out.println("....name is " +z);// it is showing null
System.out.println("....n is " +n);// it is showing 0 why i dont know how to get this
emp.setEmpId(emp.getEmpId());
emp.setField1(request.getParameter("field1"));
emp.setField2(request.getParameter("field2"));
emp.setField3(request.getParameter("field3"));
emp.setDate(date);
EmployeeBean eb = new EmployeeBean();
eb.addWorkDetail(emp);
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}
}
다음에서 코드를 살펴보십시오.
Employee emp = (Employee)session.getAttribute("emp");
session.setAttribute("emp",emp);
java.sql.Date date = new java.sql.Date(new java.util.Date().getTime());
emp = new Employee(); // HERE you are reseting emp variable, so it no longer holds session data but new employee object with null name and 0 id, so just remove that line
int n = emp.getEmpId();
String z = emp.getName();
System.out.println("....name is " +z);// it is showing null
System.out.println("....n is " +n);// it is showing 0 why i dont know how to get this
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다