项目不工作。在java web app中添加、删除、更新和搜索
我正在做我大学最后一年的项目。我不擅长编码。我对Java感兴趣,因此选择了它。我的项目是一个安置管理系统。它只是一个用于添加、查看、删除和更新数据的简单系统。我从网上得到了源代码。但是,当我运行它时,会出现第一个页面。单击任何按钮都会将其移动到HTTP状态500。 我提供下面的代码,以便您可以轻松帮助我解决此问题。项目不工作。在java web app中添加、删除、更新和搜索,java,html,jsp,Java,Html,Jsp,我正在做我大学最后一年的项目。我不擅长编码。我对Java感兴趣,因此选择了它。我的项目是一个安置管理系统。它只是一个用于添加、查看、删除和更新数据的简单系统。我从网上得到了源代码。但是,当我运行它时,会出现第一个页面。单击任何按钮都会将其移动到HTTP状态500。 我提供下面的代码,以便您可以轻松帮助我解决此问题。 服务器错误屏幕截图。 只是为了了解项目的结构 index.jsp <%-- Document : index Created on : 30-
服务器错误屏幕截图。
只是为了了解项目的结构
index.jsp
<%--
Document : index
Created on : 30-Jan-2016, 12:38:44
Author : krish_000
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JSP Page</title>
</head>
<body>
<h1>Hello World!</h1>
<a href="studentinfo.jsp" target="_top">edit page</a>
</body>
</html>
studentinfo.jsp
<%--
Document : index
Created on : 20-Jan-2013, 22:16:54
Author : Joseph
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Student Information</title>
</head>
<body>
<h1>Student Information</h1>
<form action="./StudentServlet" method="POST">
<table>
<tr>
<td>Student ID</td>
<td><input type="text" name="studentId" value="${student.studentId}" /></td>
</tr>
<tr>
<td>First Name</td>
<td><input type="text" name="firstname" value="${student.firstname}" /></td>
</tr>
<tr>
<td>Last Name</td>
<td><input type="text" name="lastname" value="${student.lastname}" /></td>
</tr>
<tr>
<td>Year Level</td>
<td><input type="text" name="yearLevel" value="${student.yearLevel}" /></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" name="action" value="Add" />
<input type="submit" name="action" value="Edit" />
<input type="submit" name="action" value="Delete" />
<input type="submit" name="action" value="Search" />
</td>
</tr>
</table>
</form>
<br>
<table border="1">
<th>ID</th>
<th>First Name</th>
<th>Last Name</th>
<th>Year Level</th>
<c:forEach items="${allStudents}" var="stud">
<tr>
<td>${stud.studentId}</td>
<td>${stud.firstname}</td>
<td>${stud.lastname}</td>
<td>${stud.yearLevel}</td>
</tr>
</c:forEach>
</table>
</body>
</html>
source package
com.joseph.controller
studentServlet.jav
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.joseph.controller;
import com.joseph.dao.StudentDaoLocal;
import com.joseph.model.Student;
import java.io.IOException;
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;
/**
*
* @author Joseph
*/
@WebServlet(name = "StudentServlet", urlPatterns = {"/StudentServlet"})
public class StudentServlet extends HttpServlet {
@EJB
private StudentDaoLocal studentDao;
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String action = request.getParameter("action");
String studentIdStr = request.getParameter("studentId");
int studentId=0;
if(studentIdStr!=null && !studentIdStr.equals("")){
studentId=Integer.parseInt(studentIdStr);
}
String firstname = request.getParameter("firstname");
String lastname = request.getParameter("lastname");
String yearLevelStr = request.getParameter("yearLevel");
int yearLevel=0;
if(yearLevelStr!=null && !yearLevelStr.equals("")){
yearLevel=Integer.parseInt(yearLevelStr);
}
Student student = new Student(studentId, firstname, lastname, yearLevel);
if("Add".equalsIgnoreCase(action)){
studentDao.addStudent(student);
}else if("Edit".equalsIgnoreCase(action)){
studentDao.editStudent(student);
}else if("Delete".equalsIgnoreCase(action)){
studentDao.deleteStudent(studentId);
}else if("Search".equalsIgnoreCase(action)){
student = studentDao.getStudent(studentId);
}
request.setAttribute("student", student);
request.setAttribute("allStudents", studentDao.getAllStudents());
request.getRequestDispatcher("studentinfo.jsp").forward(request, response);
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
/**
* Handles the HTTP
* <code>GET</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* <code>POST</code> method.
*
* @param request servlet request
* @param response servlet response
* @throws ServletException if a servlet-specific error occurs
* @throws IOException if an I/O error occurs
*/
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
com.joseph.dao
studentDAO.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.joseph.dao;
import com.joseph.model.Student;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author Joseph
*/
@Stateless
public class StudentDao implements StudentDaoLocal {
@PersistenceContext
private EntityManager em;
@Override
public void addStudent(Student student) {
em.persist(student);
}
@Override
public void editStudent(Student student) {
em.merge(student);
}
@Override
public void deleteStudent(int studentId) {
em.remove(getStudent(studentId));
}
@Override
public Student getStudent(int studentId) {
return em.find(Student.class, studentId);
}
@Override
public List<Student> getAllStudents() {
return em.createNamedQuery("Student.getAll").getResultList();
}
}
studentDAOLocal.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.joseph.dao;
import com.joseph.model.Student;
import java.util.List;
import javax.ejb.Local;
/**
*
* @author Joseph
*/
@Local
public interface StudentDaoLocal {
void addStudent(Student student);
void editStudent(Student student);
void deleteStudent(int studentId);
Student getStudent(int studentId);
List<Student> getAllStudents();
}
com.joseph.model
student.java
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.joseph.model;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
/**
*
* @author Joseph
*/
@Entity
@Table
@NamedQueries({@NamedQuery(name="Student.getAll",query="SELECT e FROM Student e")})
public class Student implements Serializable{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column
private int studentId;
@Column
private String firstname;
@Column
private String lastname;
@Column
private int yearLevel;
public int getStudentId() {
return studentId;
}
public void setStudentId(int studentId) {
this.studentId = studentId;
}
public String getFirstname() {
return firstname;
}
public void setFirstname(String firstname) {
this.firstname = firstname;
}
public String getLastname() {
return lastname;
public void setLastname(String lastname) {
this.lastname = lastname;
}
public int getYearLevel() {
return yearLevel;
}
public void setYearLevel(int yearLevel) {
this.yearLevel = yearLevel;
}
public Student(int studentId, String firstname, String lastname, int yearLevel) {
this.studentId = studentId;
this.firstname = firstname;
this.lastname = lastname;
this.yearLevel = yearLevel;
}
public Student(){}
}
企业Bean/
学生道
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package com.joseph.dao;
import com.joseph.model.Student;
import java.util.List;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
/**
*
* @author Joseph
*/
@Stateless
public class StudentDao implements StudentDaoLocal {
@PersistenceContext
private EntityManager em;
@Override
public void addStudent(Student student) {
em.persist(student);
}
@Override
public void editStudent(Student student) {
em.merge(student);
}
@Override
public void deleteStudent(int studentId) {
em.remove(getStudent(studentId));
}
@Override
public Student getStudent(int studentId) {
return em.find(Student.class, studentId);
}
@Override
public List<Student> getAllStudents() {
return em.createNamedQuery("Student.getAll").getResultList();
}
}
/*
*要更改此模板,请选择工具|模板
*然后在编辑器中打开模板。
*/
包com.joseph.dao;
导入com.joseph.model.Student;
导入java.util.List;
导入javax.ejb.Stateless;
导入javax.persistence.EntityManager;
导入javax.persistence.PersistenceContext;
/**
*
*@作者约瑟夫
*/
@无国籍
公共类StudentDao实现StudentDaoLocal{
@持久上下文
私人实体管理者;
@凌驾
公立学校学生(学生){
em.persist(学生);
}
@凌驾
公立学校学生(学生){
em.merge(学生);
}
@凌驾
公共学生(国际学生ID){
em.remove(getStudent(studentId));
}
@凌驾
公立学生getStudent(国际学生ID){
返回em.find(Student.class,studentId);
}
@凌驾
公共列表getAllStudents(){
返回em.createNamedQuery(“Student.getAll”).getResultList();
}
}
检查您的应用程序服务器日志,看看是否可以在那里找到有关错误的更多详细信息。不。我在那里找不到任何东西。我运行我的项目。它的工作范围。有人可以说如何单独显示表数据。在另一个jsp页面中。