[JAVA] Vermeiden Sie die Serialisierung von Seiten mit Wicket

Vermeiden Sie die Serialisierung von Seiten mit Wicket

Umgebung

wicket 7(.10)

Ich möchte nicht serialisieren

Beim Umgang mit Daten mit hoher Sicherheitsstufe wie Zahlungsseiten und Registrierungsseiten für persönliche Informationen (** Auch wenn verschlüsselt **) Möglicherweise möchten Sie nicht, dass die Daten gespeichert werden (sollten).

VoidPageManagerProvider

Seitenmanager-Anbieter

VoidPageManagerProvider.java


public class VoidPageManagerProvider extends DefaultPageManagerProvider {

	protected IPageManagerContext 	pageManagerContext;
	protected IPageManager			pageManager;

	/**
	 * @param application
	 */
	public VoidPageManagerProvider(Application application) {
		super(application);

		pageManagerContext = new DefaultPageManagerContext();

		IDataStore dataStore = newDataStore();
		IPageStore pageStore = newPageStore(dataStore);
		pageManager = new VoidPageStoreManager(application.getName(), pageStore, pageManagerContext);
	}

	@Override
	public IPageManager get(IPageManagerContext pageManagerContext) {

		return pageManager;
	}

	@Override
	public IPageStore newPageStore(IDataStore dataStore) {

		return new VoidPageStore();
	}

	@Override
	public IDataStore newDataStore() {

		return new VoidDataStore();
	}
}
Seitenspeicher

VoidPageStore.java


public class VoidPageStore implements IPageStore {

	/**
	 * constructor
	 */
	public VoidPageStore() {
	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IPageStore#destroy()
	 */
	@Override
	public void destroy() {

	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IPageStore#getPage(java.lang.String, int)
	 * @param sessionId
	 * @param pageId
	 * @return
	 */
	@Override
	public IManageablePage getPage(String sessionId, int pageId) {
		// nothing
		return null;
	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IPageStore#removePage(java.lang.String, int)
	 * @param sessionId
	 * @param pageId
	 */
	@Override
	public void removePage(String sessionId, int pageId) {

	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IPageStore#storePage(java.lang.String, org.apache.wicket.page.IManageablePage)
	 * @param sessionId
	 * @param page
	 */
	@Override
	public void storePage(String sessionId, IManageablePage page) {

	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IPageStore#unbind(java.lang.String)
	 * @param sessionId
	 */
	@Override
	public void unbind(String sessionId) {

	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IPageStore#prepareForSerialization(java.lang.String, java.io.Serializable)
	 * @param sessionId
	 * @param page
	 * @return
	 */
	@Override
	public Serializable prepareForSerialization(String sessionId, Serializable page) {

		return null;
	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IPageStore#restoreAfterSerialization(java.io.Serializable)
	 * @param serializable
	 * @return
	 */
	@Override
	public Object restoreAfterSerialization(Serializable serializable) {

		return null;
	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IPageStore#convertToPage(java.lang.Object)
	 * @param page
	 * @return
	 */
	@Override
	public IManageablePage convertToPage(Object page) {

		return null;
	}

}
Datenspeicher

VoidDataStore.java


public class VoidDataStore implements IDataStore {

	/**
	 * constructor
	 */
	public VoidDataStore() {
	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IDataStore#getData(java.lang.String, int)
	 * @param sessionId
	 * @param id
	 * @return
	 */
	@Override
	public byte[] getData(String sessionId, int id) {

		// nothing
		return null;
	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IDataStore#removeData(java.lang.String, int)
	 * @param sessionId
	 * @param id
	 */
	@Override
	public void removeData(String sessionId, int id) {

	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IDataStore#removeData(java.lang.String)
	 * @param sessionId
	 */
	@Override
	public void removeData(String sessionId) {

	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IDataStore#storeData(java.lang.String, int, byte[])
	 * @param sessionId
	 * @param id
	 * @param data
	 */
	@Override
	public void storeData(String sessionId, int id, byte[] data) {

	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IDataStore#destroy()
	 */
	@Override
	public void destroy() {

	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IDataStore#isReplicated()
	 * @return
	 */
	@Override
	public boolean isReplicated() {
		return true;
	}

	/* (Nicht-Javadoc)
	 * @see org.apache.wicket.pageStore.IDataStore#canBeAsynchronous()
	 * @return
	 */
	@Override
	public boolean canBeAsynchronous() {
		return true;
	}

}
Page Store Manager

VoidPageStoreManager.java


public class VoidPageStoreManager extends PageStoreManager {

	/**
	 * @param applicationName
	 * @param pageStore
	 * @param context
	 */
	public VoidPageStoreManager(String applicationName, IPageStore pageStore, IPageManagerContext context) {
		super(applicationName, pageStore, context);
	}

	@Override
	public boolean supportsVersioning() {
		return false;
	}
}

Anruf von der Anwendung

Rufen Sie init () auf

WicketApplication.java


		// page manager
		setPageManagerProvider(new VoidPageManagerProvider(this));

Keine Fehler mehr ohne Geräte Serializable

Recommended Posts

Vermeiden Sie die Serialisierung von Seiten mit Wicket
Vermeiden Sie UnsupportedEncodingException mit Charset.forName
FileUpload mit Rest auf Apache Wicket