ajax返回html页面执行,【提问】ajax请求返回整个html页面

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

后台代码

@SuppressWarnings({ "rawtypes", "unchecked" })

@RequestMapping(value = "v1/uploadImg", method = RequestMethod.POST)

@ApiOperation(value = "图片上传", produces = "application/json;charset=utf-8")

@ResponseBody

public Object uploadImg(

@ApiParam(value = "用户id", name = "userid") @RequestParam String userid,

@ApiParam(value = "签名", name = "sign") @RequestParam String sign,

HttpServletRequest request, HttpServletResponse response){

ResultDo resultDo = new ResultDo();

MultipartHttpServletRequest multiRequest = (MultipartHttpServletRequest) request;

Iterator t = multiRequest.getFileNames();

MultipartFile fileDetail = multiRequest.getFile(t.next());

String name = fileDetail.getOriginalFilename();

String type = request.getParameter("type");

//把图片上传到fastdfs

try {

Map param = uploadUtil.firstUpload(name.substring(name.lastIndexOf(".") + 1, name.length()));

String groupName = param.get("group_name").toString();

String fileId = param.get("file_id").toString();

uploadUtil.upload_file(groupName, fileId.substring(fileId.indexOf("/")+1, fileId.length()),

fileDetail.getInputStream(), fileDetail.getSize());

resultDo.setRet(1);

resultDo.setResult("http://"+ConfigUtil.getValue("tracker_server") +"/"+ fileId);

String result = "";

if(RegexUtil.isNotBlank(type)){

response.setContentType("text/html");

result = JsonUtil.toJson(resultDo);

System.out.println("resultDo:++++++++++++++"+result);

System.out.println("response:*********"+response.getContentType());

return result;

}

return resultDo;

} catch (Exception e1) {

e1.printStackTrace();

resultDo.setRet(0);

resultDo.setErrinfo("图片上传失败!");

return resultDo;

}

class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">

text/html;charset=UTF-8

非常感谢您的提问!针对您的问题,我将逐一进行回答。 首先,您需要在MySQL中创建一个用户表,用于保存用户名和密码信息。可以使用以下SQL语句创建一个名为“user”的表: ``` CREATE TABLE user ( id INT(11) NOT NULL AUTO_INCREMENT, username VARCHAR(50) NOT NULL, password VARCHAR(50) NOT NULL, PRIMARY KEY (id) ) ENGINE = InnoDB DEFAULT CHARSET = utf8; ``` 接下来,您需要编写一个登录页面,使用JavaScript代码创建XMLHttpRequest对象,向服务器发送POST请求,以验证用户名和密码是否正确。以下是一个简单的登录页面示例: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>登录页面</title> <script> function login() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { alert(xhr.responseText); } }; xhr.open("POST", "loginServlet", true); xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.send("username=" + document.getElementById("username").value + "&password=" + document.getElementById("password").value); } </script> </head> <body> <form> <label>用户名:</label> <input type="text" id="username" name="username"><br> <label>密码:</label> <input type="password" id="password" name="password"><br> <input type="button" value="登录" onclick="login()"> </form> </body> </html> ``` 在该登录页面中,我们使用了JavaScript代码创建了一个XMLHttpRequest对象,并使用POST方法向名为“loginServlet”的Servlet程序发送了一个请求。同时,我们还将用户名和密码作为请求参数发送到了服务器。 接下来,我们需要编写一个Servlet程序,用于访问数据库以验证用户名和密码是否合法。以下是一个简单的Servlet程序示例: ```java import java.io.IOException; import java.io.PrintWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/loginServlet") public class LoginServlet extends HttpServlet { private static final long serialVersionUID = 1L; public LoginServlet() { super(); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=utf-8"); PrintWriter out = response.getWriter(); String username = request.getParameter("username"); String password = request.getParameter("password"); try { Class.forName("com.mysql.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "123456"); PreparedStatement ps = conn.prepareStatement("SELECT * FROM user WHERE username = ? AND password = ?"); ps.setString(1, username); ps.setString(2, password); ResultSet rs = ps.executeQuery(); if (rs.next()) { out.println("欢迎" + username + "!"); } else { out.println("用户名或密码错误!"); } rs.close(); ps.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在该Servlet程序中,我们首先获取了从登录页面发送的请求参数(即用户名和密码),然后连接数据库,执行了一条SQL语句以查询该用户是否存在。如果查询结果不为空,则说明用户名和密码是正确的,我们返回一个“欢迎XXX”的提示信息;否则,我们返回一个“用户名或密码错误!”的提示信息。 最后,我们需要将以上代码部署到一个Web服务器中,以使其能够正常运行。您可以使用Tomcat等Web服务器进行部署。部署完成后,您可以通过访问登录页面(例如:http://localhost:8080/login.html)进行测试。 希望以上回答能够帮助您解决问题,如有任何疑问,请随时联系我。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值