私はサーブレットプログラムを持っています。これは私のコードです:私はこのサーブレットを実行するとサーブレットのキャスティング問題
public class CompanionProxy extends HttpServlet {
DeviceDAOHibernateImpl daoImpl = null;
Logger log = Logger.getLogger("CompanionProxy");
public void init(){
daoImpl = new DeviceDAOHibernateImpl();
ProxyParser parser = ProxyParserFactory.getParser(ProxyParser.Type.XML);
log.info("Config file Path "+parser.getClass().getName());
ArrayList<Device> aDeviceList = parser.parse("c:\\proxy_setup_load.xml");//CommonConstants.CONFIG_FILE_PATH);
for (Iterator iterator = aDeviceList.iterator(); iterator.hasNext();) {
Device device = (Device) iterator.next();
try {
daoImpl.create(device);
} catch (ProxyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
try {
List<Device> listDevices = daoImpl.list();
for (Iterator iterator = listDevices.iterator(); iterator.hasNext();) {
Device device = (Device) iterator.next();
log.info(device.toString());
}
} catch (ProxyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
@SuppressWarnings("unchecked")
Map<String, String> map = request.getParameterMap();
log.info(map.toString());
HashMap<String, String> requestMap = new HashMap<String, String>();
requestMap.putAll(map);
requestMap.put(CommonConstants.DEVICE_IP, request.getRemoteAddr());
String reqType = requestMap.get(CommonConstants.REQ_PARAM);
if (reqType.equals(CommonConstants.REGISTER_DEVICE)) {
Device device = ProxyRequestParser.parseRegisterRequest(requestMap);
try {
daoImpl.create(device);
} catch (ProxyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if (reqType.equals(CommonConstants.UNREGISTER_DEVICE)) {
Device device;
try {
device = daoImpl.findByIPAddr(requestMap.get(CommonConstants.DEVICE_IP));
daoImpl.delete(device);
} catch (ProxyException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
// some code...
}
それは次のエラーを与える:
java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.String
com.nagra.proxy.servlet.CompanionProxy.doGet(CompanionProxy.java:78)
javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
何このエラーの原因であり、どのように私はそれを修正することができますか?
Map map = request.getParameterMap(); –
bharathi
これは、 – bharathi