📄 loginvalidata.java
字号:
package pack;
import java.io.IOException;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.sql.*;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.DocumentBuilder;
public class LoginValidata extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//设置接收信息的字符集
request.setCharacterEncoding("UTF-8");
//将传过来的XML读取到缓冲区中
StringBuffer buf = new StringBuffer();
String line = null;
try {
BufferedReader reader = request.getReader();
while((line = reader.readLine()) != null) {
buf.append(line);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
String xml = buf.toString();
//创建Document对象
Document dom = null;
try {
dom = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes()));
//上面这步相当于下面三步
/*
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder bulider = factory.newDocumentBuilder();
dom = bulider.parse(new ByteArrayInputStream(xml.getBytes()));
*/
}
catch (ParserConfigurationException ex) {
System.out.println ("a");
ex.printStackTrace();
} catch(SAXException ex) {
System.out.println ("b");
ex.printStackTrace();
}
//解析XML
String name = dom.getElementsByTagName("name").item(0).getFirstChild().getNodeValue();
String password = dom.getElementsByTagName("password").item(0).getFirstChild().getNodeValue();
String responseText="";
//依据验证用户名是否存在
DataAccess da = new DataAccess();
ResultSet rs = da.query("select * from Users where Name='" + name + "' and Password='" + password + "'");
try {
if(rs.next()) {//验证通过
responseText = "ok";
} else {
responseText = "用户名与密码不匹配";
}
}
catch (Exception ex) {
ex.printStackTrace();
}
//设置输出信息的格式及字符集,注意必须为UTF-8才可以正确解析动态生成的XML文件
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
response.getWriter().print(responseText);
}
/*
* 处理<POST> 请求方法.
*/
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -