Eclipse Luna - Jboss 7 Servlet& JPA app servlet无法启动

时间:2015-07-14 13:12:54

标签: java eclipse maven servlets jpa

我有一个基于maven的JBoss AS 7和Eclipse Luna项目。我正在使用带注释的servlet,并且有一个非常简单的JPA实体和DAO。

当我通过Eclipse部署时,servlet无法启动。

如果我mvn package并通过JBOss Web界面进行部署,则servlet将部署。

使用eclipse,部署JPA类并设置持久性内容,但是我从servlet中得不到任何东西。

我没有除persistence.xml之外的任何XML文件,只有带注释的servlet,如下所示:

@WebServlet(urlPatterns = {"/simple"}, loadOnStartup=1)
public class EntityServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    @EJB EntityDao ed;

    public EntityServlet() {
        System.err.println("Starting servlet");
        System.err.println("ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ");
    }
    public void setEntityDao(EntityDao e){
        ed = e;
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {


        response.setContentType("text/html");
        PrintWriter out=response.getWriter();

        out.print("<html><body>");
        out.print("<h3>Hello Servlet</h3><p>");
        out.print(ed.addNamedEntity("ADSF"));
        out.print("</p>");
        out.print("<p>" + ed.getAllNamedEntities() + "</p></body></html>");
    }
}

1 个答案:

答案 0 :(得分:0)

好悲伤,发现了问题。

我注意到我的测试用例没有编译,所以我开始追逐它,发现我的.project文件中的java builder不再存在(不知道它到底在哪里)。

Here is the link to the fix for the compile problems

它的要点是你必须添加:

<form onsubmit="$('input[name=inlineRadioOptions]').prop('disabled',true);return true;" name="catsearchform37675"
  id="sForm" method="post" action="">
<div style="margin-bottom: 5px;">
    <label class="radio-inline">
        <input type="radio" name="inlineRadioOptions" id="inlineRadio1" value="Catalog"
               onclick="$('.search_textField').attr({name:'searcharg',id:'searcharg'});$('#searchtype').val('t');$('#sForm').attr({action:'http://www.searchlocal.com/ch~S17/X',target:'_blank',method:'GET'});$('#hiddenField').append('<input type=\'hidden\' name=\'searchtype\' id=\'searchtype\' value=\'t\' />');"/>
        Catalog
    </label>
    <label class="radio-inline">
        <input type="radio" name="inlineRadioOptions" id="inlineRadio3" value="Website"
               onclick="$('.search_textField').attr({name:'CAT_Search',id:'CAT_Search'});$('#sForm').attr({action:'/Default.aspx?SiteSearchID=2960&amp;ID=/search-results',target:'self',method:'POST'});"
               checked="checked"/> Website
    </label>
</div>
<div id="hiddenField"></div>
<div class="clearfix"><input type="text" id="CAT_Search" name="CAT_Search" placeholder="Search" hidefocus="true"
                             style="outline: none medium;" class="search_textField"/> <input type="submit"
                                                                                             class="search-btn"
                                                                                             value="Search"/></div>

如果确实缺少了buildSpec部分中的.project文件。