通过request请求获取<xml>

使用io流完成request传参,获取<xml>,具体代码如下:

public Object getParameter(HttpServletRequest request, HttpServletResponse response){

request.setCharacterEncoding("UTF-8");//设置字符格式
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");
response.setHeader("Access-Control-Allow-Origin", "*");
// achieve input stream
InputStream in = request.getInputStream();
ByteArrayOutputStream out = new ByteArrayOutputStream();
// length of string
byte[] buffer = new byte[1024];
int len = 0;
// achieve data from in
while ((len = in.read(buffer)) != -1) {
out.write(buffer, 0, len);
}
in.close();
out.close();

//获取流对象内容

String content = new String(out.toByteArray(), "utf-8");
//获取json对象

JSONObject jsonObject = JSONObject.parseObject(XmltoJsonUtil.xml2JSON(content));
//获取xml对象
JSONObject result_xml = jsonObject.getJSONObject("xml");
// 获取<xml>中某个对象具体的值
JSONArray return_code = result_xml.getJSONArray("return_code");
String code = return_code.get(0).toString();

System.out.println("code:"+code);

}

//<xml>转为json格式

public class XmltoJsonUtil {
public static String xml2JSON(String xml) {
JSONObject obj = new JSONObject();
try {
InputStream is = new ByteArrayInputStream(xml.getBytes("utf-8"));
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(is);
Element root = doc.getRootElement();
obj.put(root.getName(), iterateElement(root));
return obj.toString();
} catch (Exception e) {
e.printStackTrace();
return null;
}
}

eg:输入的<xml>对象为:

<xml>
<return_code>SUCCESS</return_code>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[TeqClE3i0mvn3DrK]]></nonce_str>

</xml>

输出结果为:

code:SUCCESS

 

转载于:https://www.cnblogs.com/qqzhulu/p/10371696.html

要实现删除一条记录,需要完成以下步骤: 1. 在表格中为每行添加一个“删除”链接,可以通过在<tr>标签内添加一个<a>标签实现,例如: ``` <td><a href="DeleteServlet?id=${item.id}">删除</a></td> ``` 其中,`${item.id}`表示当前行的记录ID,将其作为参数传递给DeleteServlet。 2. 在DeleteServlet中,获取从前端传递过来的ID参数,使用该ID在数据库中执行删除操作。具体代码如下: ``` String id = request.getParameter("id"); Connection conn = null; PreparedStatement pstmt = null; try { conn = DBUtils.getConnection(); String sql = "DELETE FROM user WHERE id=?"; pstmt = conn.prepareStatement(sql); pstmt.setString(1, id); pstmt.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); } finally { DBUtils.close(conn, pstmt, null); } ``` 其中,DBUtils是一个封装了JDBC操作的工具类,getConnection()用于获取数据库连接,close()用于关闭连接和释放资源。执行删除操作时,使用预编译的SQL语句,使用参数占位符“?”代替ID的值,防止SQL注入攻击。最后,使用executeUpdate()方法执行SQL语句,删除对应的记录。 3. 在web.xml文件中配置DeleteServlet的映射关系,例如: ``` <servlet> <servlet-name>DeleteServlet</servlet-name> <servlet-class>com.example.DeleteServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>DeleteServlet</servlet-name> <url-pattern>/DeleteServlet</url-pattern> </servlet-mapping> ``` 这样,当用户点击“删除”链接时,就会向DeleteServlet发送一个HTTP请求,DeleteServlet会根据请求参数执行删除操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值