我有一个带有登录表单的jsp页面,我使用的是servlet,如果用户名和密码正确,servlet会将用户重定向到另一个页面,否则它会再次将用户重定向到登录页面
下面是servlet
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.mysql.jdbc.PreparedStatement;
/**
* Servlet implementation class LogServlet
*/
@WebServlet("/LogServlet")
public class LogServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public LogServlet() {
super();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html");
String name=request.getParameter("name");
String password=request.getParameter("password");
PreparedStatement ps = null;
ResultSet rs = null;
try {
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/log",
"root","");
ps = (PreparedStatement) conn.prepareStatement("select nom_client,username,password from client where username = ? and password = ?");
ps.setString(1, name);
ps.setString(2, password);
rs=ps.executeQuery();
try {
while(rs.next()){
if(password.equals(rs.getString("password")) && name.equals(rs.getString("username"))){
HttpSession session=request.getSession();
session.setAttribute("name",name);
PrintWriter out=response.getWriter();
request.getRequestDispatcher("reservation.jsp").include(request, response);
}
else{
response.sendRedirect("/login.jsp");
}}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.close();
}
catch(Exception e){e.printStackTrace();}
}
}
使用request.getContextPath()
,它会将您重定向到登录页面。
response.sendRedirect(request.getContextPath()+"/login.jsp");
如果在这种情况下到达登录页面,则将request
和response
对象传递到jsp页面。
request.getRequestDispatcher(request.getContextPath()+"/login.jsp").forward(request,response);
这里我想使用RequestDispatcher从servlet调用jsp页面,问题是在jsp代码中调用java代码没有问题,问题是html代码不起作用 下面是代码: 重定向servlet。爪哇: showReportt_arb。jsp: 在上面的逻辑中,java代码显示在服务器控制台中,但html代码没有显示。请帮我解决这个问题
我有2个问题 1)我有一个login.jsp页和索引页。一旦我验证了用户(在servlet ie中),用户将被重定向到index.jsp页面。我用servlet的这条线重定向它 这个过程运行良好。但是当我刷新页面时,我会被重定向回登录页面。另外,我注意到在index.jsp页面上,我得到的名字而不是index.jsp,即我的servlet名称得到displayed.for这样的例子得到代替显示 2
登录。当点击按钮时,我想从这里重定向到另一个jsp页面,但它只在servlet页面中,而不是从那里重定向到另一个jsp页面,即CustomerLogin。jsp servlet编码
当需要将文档移动到一个新的位置时,就需要使用JSP重定向了。 最简单的重定向方式就是使用response对象的sendRedirect()方法。这个方法的签名如下: public void response.sendRedirect(String location) throws IOException 这个方法将状态码和新的页面位置作为响应发回给浏览器。您也可以使用setStatus()和
问题内容: 我正在编写servlet,以防万一,我将重定向到自定义错误页面,因为这样做是这样的。 在web.xml中 在Servlet中, 但是这里没有显示,我要去哪里出错了,谁能解释一下我? 问题答案: 问题是您捕获了Exception,因此没有Exception将离开您的方法。如果匹配项(相同或相同的子类)离开您的方法,则只会重定向错误页面。 您应该将捆绑包重新扔入例如: 不幸的是,如果我们谈
我在我的jsp(welcome.jsp)页面上有一个Submit按钮,在这个按钮上我将请求发送给myservlet(导入部件)。我在servlet中进行了一些验证,当验证失败时,我将用户重定向到error.jsp页面,该页面给出了一条合适的消息。这个error.jsp还有一个close按钮,在我将响应转发到error.jsp之后,这个按钮就不工作了。 如果我直接在browser中启动error.j