request.setCharacterEncoding("UTF-8"); String uname=request.getParameter("comments"); String upwd=request.getParameter("passwd"); user user=new user(uname,upwd); DataBase db=new DataBase(); boolean r=db.login(user.getpid(), user.getpkeyword()); if(r
时间: 2024-03-04 21:53:39 浏览: 104
这段代码看起来是一个 Java Servlet 中的一部分,其中 `request` 是一个 `HttpServletRequest` 对象。首先,它通过调用 `setCharacterEncoding` 方法设置请求的字符编码为 UTF-8。接着,它从请求参数中获取名为 `comments` 和 `passwd` 的两个参数,并将它们传递给一个名为 `user` 的自定义对象的构造函数。然后,它创建一个名为 `db` 的自定义对象 `DataBase`,并调用 `login` 方法,将 `user` 对象的 `pid` 和 `pkeyword` 属性作为参数传递给它。`login` 方法返回一个布尔值 `r`,表示用户名和密码是否匹配,如果匹配则为 `true`,否则为 `false`。最后,它检查 `r` 的值是否为 `true`,并执行与其相关的代码(在这里缺失了)。
相关问题
将<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ page import="dao.*" import="entity.user"%> <html> <head> <title>数据库操作</title> </head> <body> <% request.setCharacterEncoding("UTF-8"); String uname=request.getParameter("comments"); String upwd=request.getParameter("passwd"); user user=new user(uname,upwd); DataBase db=new DataBase(); boolean r=db.login(user.getpid(), user.getpkeyword()); if(r){ out.println("恭喜,登陆成功!"); }else{ out.println("登陆失败!<br>账号或密码错误!"); } %> </body> </html>改用servlet实现
将该代码转化为servlet实现需要进行以下步骤:
1. 创建一个名为LoginServlet的servlet类,继承HttpServlet类。
2. 在servlet类中重写doGet或doPost方法,用于处理HTTP请求。
3. 在doGet或doPost方法中获取请求参数,包括用户名和密码。
4. 创建一个user对象,并将获取到的用户名和密码作为参数传递给该对象。
5. 创建一个DataBase对象,并调用其login方法,传递user对象的pid和pkeyword属性作为参数。
6. 根据login方法的返回值,输出登陆结果。
下面是转化后的代码:
```java
import dao.DataBase;
import entity.user;
@WebServlet("/LoginServlet")
public class LoginServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
String uname = request.getParameter("comments");
String upwd = request.getParameter("passwd");
user user = new user(uname, upwd);
DataBase db = new DataBase();
boolean r = db.login(user.getpid(), user.getpkeyword());
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
if (r) {
out.println("恭喜,登陆成功!");
} else {
out.println("登陆失败!<br>账号或密码错误!");
}
}
}
```
在上述代码中,我们使用了@WebServlet注解,用于映射servlet的URL(即“/LoginServlet”)。这样,当用户在浏览器中请求“http://localhost:8080/项目名/LoginServlet”时,就会执行LoginServlet类中的doPost方法,实现相同的功能。
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>学生管理系统</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> </head> <body> <jsp:useBean id="link" class="jdbcHomework.LinkMysql"></jsp:useBean> <% request.setCharacterEncoding("utf-8"); String uid = request.getParameter("sid"); String uname = request.getParameter("sname"); String sex = request.getParameter("ssex"); String banji = request.getParameter("banji"); String yuanxi = request.getParameter("yuanxi"); System.out.println(uid+uname+sex+banji+yuanxi); Connection con=null; PreparedStatement ps=null; con=link.getConnection(); String sql="update student set Sname=?,Ssex=?,Sclass=?,Syuanxi=? where Sid=?"; ps=con.prepareStatement(sql); ps.setString(1,uname); ps.setString(2, sex); ps.setString(3,banji); ps.setString(4,yuanxi); ps.setString(5,uid); int i=ps.executeUpdate(); if(i>0){ System.out.println("修改成功!"); response.sendRedirect("linkMysql-2.jsp"); //out.print("<script type='javascript'> alert('学生信息修改成功!');window.location='linkMysql.jsp';</script>"); } else{ System.out.println("修改失败!"); response.sendRedirect("linkMysql-2.jsp"); //out.print("<script type='javascript'> alert('学生信息修改失败!');window.location='login.jsp';</script>"); } ps.close(); con.close(); %> </body> </html>
这是一个 JSP 页面,用于修改学生信息。它包含了一个 JavaBean 类 LinkMysql,用于连接数据库。在页面中,它通过 request.getParameter() 方法获取表单提交的学生信息,然后执行 SQL 语句,将修改后的信息更新到数据库中。最后,根据执行结果,将页面重定向到 linkMysql-2.jsp 页面。其中,注释部分的代码是在修改成功或失败后弹出提示框。
阅读全文