IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Servlets/JSP Java Discussion :

Erreur "NullPointerException" liée à HttpServletResponse


Sujet :

Servlets/JSP Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Juin 2012
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juin 2012
    Messages : 180
    Par défaut Erreur "NullPointerException" liée à HttpServletResponse
    salut,


    mon but est d'avoir comment ouvrit un document depuis mon application

    web


    mon code jsp est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    <div id="pieces" class="baliseDiv">	
    		<fieldset style="padding: 5px 10px 5px 10px;">
    			<legend align="top">
    				<util:message key="operateur.section.pieces.title" />
    			</legend>
     
     
    			<grid:view name="PieceRattacheList_view">
    				<grid:search position="top" align="right" width="200"
    					iconClass="icon-zoom" />
    				<grid:actionsbar>
    					<grid:action id="pieceRattacheList_add" type="button"
    						textkey="operateur.list.pieceRattacheList.action.pieceRattacheList_add.title"
    						tooltipkey="operateur.list.pieceRattacheList.action.pieceRattacheList_add.description"
    						iconClass="icon-form-add" onclick="action_pieceRattacheList_add" />
    					<grid:action id="pieceRattacheList_add_Split" type="splitbar" />
    				</grid:actionsbar>
    				<grid:pagingbar pageSize="10" displayInfo="true">
    				</grid:pagingbar>
    				<grid:table name="PieceRattacheList_Tab" list="pieceRattacheList"
    					titlekey="operateur.list.pieceRattacheList.title"
    					formbean="DossierJuridiquePortletBean" recordForm="false"
    					clicksToEdit="1" collapsible="true" closable="true" render="true">
     
    					<grid:repository id="pieceRattacheList.pieceRattacheList"
    					classpath="com.dq.foprodex.web.repository.DossierJuridiqueRepository" />
    					<grid:record id="attachementEntity" idProperty="id"
    						defaultSortColumn="nomfrPiece" defaultSortDir="ASC"
    						title="Enregistrement" columnCount="2"
    						iconClass="icon-edit-record"
    						recordClass="com.dq.foprodex.web.entity.AttachementEntity"
    						windowmodal="false">
    						<grid:property name="id" type="String" />
    						<grid:property name="idElement" type="String" />
    						<grid:property name="idTable" type="String" />
    						<grid:property name="idGuid" type="String" />
    						<grid:property name="nomfrPiece" type="String" />
    						<grid:property name="nomarPiece" type="String" />
    						<grid:property name="etat" type="String" />
    						<grid:property name="fo" type="String" />
    						<grid:property name="df" type="String" />
    						<grid:property name="agBack" type="String" />
    						<grid:property name="respBack" type="String" />
    						<grid:property name="pdg" type="String" />
    						<grid:property name="idType" type="String" />
    						<grid:property name="libType" type="String" />
    						<grid:property name="respRattach" type="String" />
    						<grid:property name="dateRattach" type="String" />
    						<grid:property name="nbreRappel" type="Integer" />
    						<grid:property name="dateDernRappel" type="String" />
    						<grid:property name="dateDemComp" type="String" />
    						<grid:property name="dateDepotComp" type="String" />
    						<grid:property name="idAvis" type="String" />
    						<grid:property name="libAvis" type="String" />
    						<grid:property name="comm" type="String" />
    						<grid:property name="app" type="String" />
    						<grid:property name="dateApp" type="String" />
    						<grid:property name="avisColumn" type="String" />
    						<grid:property name="motif" type="String" />
    						<grid:property name="rattachement" type="String" />
    						<grid:property name="actiondocumentdiffuser" type="String" />
    						<grid:property name="form" />
    					</grid:record>
     
    					<grid:column property="nomfrPiece"
    						titlekey="operateur.list.pieceRattacheList.column.nomfrPiece.title"
    						sortable="true" resizable="true" menuDisabled="false" width="20">
    					</grid:column>
    					<grid:column property="rattachement"
    						titlekey="operateur.list.pieceRattacheList.column.rattachement.title"
    						sortable="true" resizable="true" menuDisabled="false" width="40">
    					</grid:column>
    					<grid:column property="respRattach"
    						titlekey="operateur.list.pieceRattacheList.column.respRattach.title"
    						sortable="true" resizable="true" menuDisabled="false" width="40">
    					</grid:column>
    					<grid:column property="dateRattach"
    						titlekey="operateur.list.pieceRattacheList.column.dateRattach.title"
    						sortable="true" resizable="true" menuDisabled="false" width="40">
    					</grid:column>
    					<grid:column property="nbreRappel"
    						titlekey="operateur.list.pieceRattacheList.column.nbreRappel.title"
    						sortable="true" resizable="true" menuDisabled="false" width="40">
    					</grid:column>
    					<grid:column property="dateDernRappel"
    						titlekey="operateur.list.pieceRattacheList.column.dateDernRappel.title"
    						sortable="true" resizable="true" menuDisabled="false" width="40">
    					</grid:column>
    					<grid:column property="etat"
    						titlekey="operateur.list.pieceRattacheList.column.etat.title"
    						sortable="true" resizable="true" menuDisabled="false" width="40">
    					</grid:column>
    					<grid:column property="comm"
    						titlekey="operateur.list.pieceRattacheList.column.comm.title"
    						sortable="true" resizable="true" menuDisabled="false" width="40">
    					</grid:column>
     
     
    					<grid:column property="rowaction2" width="5">
    						<grid:rowaction id="piece"
    							tooltipkey="operateur.list.pieceRattacheList.action.pieceRattacheList_update1.title"
    							iconClass="icon-form-key1"
    							onclick="action_consultDoc"/>
     
    					</grid:column>
    				</grid:table>
    			</grid:view>
     
    			<br>
     
     
    		</fieldset>
    	</div>
     
    <script type="text/javascript">
     
    function action_consultDoc(grid, record, row, col) {
            operateurService.consultDocService(Ext.getCmp('userId').getValue(),record.get('id'), {
                    callback : function(responseEntity) {
                    
                    }
            });
    }
    </script>




    code java :

    la fonction consultDocService dans operationService est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
      public void consultDoc(String userid, String id) {
            DossierJuridiqueManager dossierJuridiqueManager = (DossierJuridiqueManager) PortalUtil.getBean(DossierJuridiqueManager.managerid);
     
            try {
            	dossierJuridiqueManager.consultDoc(null,null, userid, id);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    la fonction consultDoc dans dossierJuridiqueManager est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     public ResponseEntity consultDoc(HttpServletRequest request, HttpServletResponse response,String userid,
            String id) throws Exception {
        	System.out.println("the ids"+id);
        	 List<AttachementEntity> attachements = attachementDAO.getAttachementList(id);
        	 AttachementEntity attachementEntity=new AttachementEntity();
        	 attachementEntity=attachements.get(0);
        	 String guid=attachementEntity.getIdGuid();
     
     
        	   P8Connector connector = new P8Connector(TypeEnum.CE.value(),
                       "gcd admin","C:/properties/");
               System.out.println("verif " + connector.getConnection());
     
             GetDocumentsListInFolder getDocumentsListInFolder = new GetDocumentsListInFolder();
             List<Document> list = new ArrayList<Document>();
     
             list = getDocumentsListInFolder.execute(connector,
                     "/chemin", "1");
     
     
                  int length = 0;
                  ServletOutputStream op = response.getOutputStream();
     
     
            for (int i = 0; i < list.size(); i++) {
                Document doc = (Document) list.get(i);
     
     
             String h=doc.get_Id().toString();
                if(h.equals(guid))
                {	
     
          GetDocumentContent c = new GetDocumentContent();
     
               byte[] is1 = c.execute(connector, doc);
     
          byte[] bbuf = new byte[1024];
          InputStream is3 = new ByteArrayInputStream(is1);
          DataInputStream in = new DataInputStream(is3);
     
          while ((in != null) && ((length = in.read(bbuf)) != -1)) {
              op.write(bbuf, 0, length);
          }
     
          in.close();
          op.flush();
          op.close();
     
     
                }
     
            }
     
            return new ResponseEntity();
        }


    mais lors de test j'ai l'erreur suivate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    java.lang.NullPointerException
    	at com.dq.foprodex.web.manager.impl.DossierJuridiqueManagerImpl.consultDoc(DossierJuridiqueManagerImpl.java:2195)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    l'erreur lié à cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
                  ServletOutputStream op = response.getOutputStream();

    en faite response est null grace à ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       	dossierJuridiqueManager.consultDoc(null,null, userid, id);


    mais je n'arrive pas à savoir comment remplir response


    je pense que je dois le remplir dans la page jsp



    merci d'avance

  2. #2
    Membre chevronné
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 251
    Par défaut
    Cela fait partie des objets implicites accessibles dans toute jsp:

    1. request ==> HttpServletRequest
    2. response ==> HttpServletResponse
    3. out ==> PrintWriter
    4. session ==> HttpSession
    5. application ==> ServletContext
    6. config ==> ServletConfig
    7. ...

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo