Package org.apache.wiki.attachment
Class AttachmentServlet
java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.apache.wiki.attachment.AttachmentServlet
- All Implemented Interfaces:
java.io.Serializable
,javax.servlet.Servlet
,javax.servlet.ServletConfig
public class AttachmentServlet extends javax.servlet.http.HttpServlet
This is the chief JSPWiki attachment management servlet. It is used for
both uploading new content and downloading old content. It can handle
most common cases, e.g. check for modifications and return 304's as necessary.
Authentication is done using JSPWiki's normal AAA framework.
This servlet is also capable of managing dynamically created attachments.
- Since:
- 1.9.45.
- See Also:
- Serialized Form
-
Field Summary
Fields Modifier and Type Field Description protected static long
DEFAULT_EXPIRY
Default expiry period is 1 day -
Constructor Summary
Constructors Constructor Description AttachmentServlet()
-
Method Summary
Modifier and Type Method Description void
doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
Serves a GET with two parameters: 'wikiname' specifying the wikiname of the attachment, 'version' specifying the version indicator.protected void
doOptions(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
Implements the OPTIONS method.void
doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)
Grabs mime/multipart data and stores it into the temporary area.protected boolean
executeUpload(Context context, java.io.InputStream data, java.lang.String filename, java.lang.String errorPage, java.lang.String parentPage, java.lang.String changenote, long contentLength)
void
init(javax.servlet.ServletConfig config)
Initializes the servlet from Engine properties.protected java.lang.String
upload(javax.servlet.http.HttpServletRequest req)
Uploads a specific mime multipart input set, intercepts exceptions.Methods inherited from class javax.servlet.http.HttpServlet
doDelete, doHead, doPut, doTrace, getLastModified, service, service
Methods inherited from class javax.servlet.GenericServlet
destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
DEFAULT_EXPIRY
Default expiry period is 1 day- See Also:
- Constant Field Values
-
-
Constructor Details
-
AttachmentServlet
public AttachmentServlet()
-
-
Method Details
-
init
Initializes the servlet from Engine properties.- Specified by:
init
in interfacejavax.servlet.Servlet
- Overrides:
init
in classjavax.servlet.GenericServlet
- Throws:
javax.servlet.ServletException
-
doOptions
protected void doOptions(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res)Implements the OPTIONS method.- Overrides:
doOptions
in classjavax.servlet.http.HttpServlet
- Parameters:
req
- The servlet requestres
- The servlet response
-
doGet
public void doGet(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws java.io.IOExceptionServes a GET with two parameters: 'wikiname' specifying the wikiname of the attachment, 'version' specifying the version indicator.- Overrides:
doGet
in classjavax.servlet.http.HttpServlet
- Throws:
java.io.IOException
-
doPost
public void doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse res) throws java.io.IOExceptionGrabs mime/multipart data and stores it into the temporary area. Uses other parameters to determine which name to store as.The input to this servlet is generated by an HTML FORM with two parts. The first, named 'page', is the WikiName identifier for the parent file. The second, named 'content', is the binary content of the file.
- Overrides:
doPost
in classjavax.servlet.http.HttpServlet
- Throws:
java.io.IOException
-
upload
protected java.lang.String upload(javax.servlet.http.HttpServletRequest req) throws RedirectException, java.io.IOExceptionUploads a specific mime multipart input set, intercepts exceptions.- Parameters:
req
- The servlet request- Returns:
- The page to which we should go next.
- Throws:
RedirectException
- If there's an error and a redirection is neededjava.io.IOException
- If upload fails
-
executeUpload
protected boolean executeUpload(Context context, java.io.InputStream data, java.lang.String filename, java.lang.String errorPage, java.lang.String parentPage, java.lang.String changenote, long contentLength) throws RedirectException, java.io.IOException, ProviderException- Parameters:
context
- the wiki contextdata
- the input stream datafilename
- the name of the file to uploaderrorPage
- the place to which you want to get a redirectionparentPage
- the page to which the file should be attachedchangenote
- The change notecontentLength
- The content length- Returns:
true
if upload results in the creation of a new page;false
otherwise- Throws:
RedirectException
- If the content needs to be redirectedjava.io.IOException
- If there is a problem in the upload.ProviderException
- If there is a problem in the backend.
-