谁能告诉我,除了RequestDispatcher之外,是否还有其他方法可以从我的servlet调用jsp页面?因为我试了很多都没有成功。
我的servlet工作正常,从JSP中恢复了所有数据。我所需要的只是在用户正确输入用户名和密码时被重定向到另一个页面。
protected void processRequest(HttpServletRequest request,HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
try {
String user = request.getParameter("username");
String pass = request.getParameter("password");
System.out.println(" le user est "+user+ " le mot de passe est " + pass);
String query = "SELECT * FROM users WHERE username = '"+user+"' and password='"+pass+"'";
dbconn = new DBAccess();
Connection conn = dbconn.connect();
stmt = conn.createStatement();
ResultSet res = stmt.executeQuery(query);
if(res.next()){
ServletContext sc = this.getServletContext();
RequestDispatcher rd =sc.getRequestDispatcher( "inscreption.jsp");
rd.forward(request, response);
System.out.println(" il existe");
}else {
ServletContext sc = this.getServletContext();
RequestDispatcher rd = sc.getRequestDispatcher("index.jsp");
// RequestDispatcher rd =request.getRequestDispatcher("index.jsp");
rd.forward(request, response);
System.out.println("not found");
}
} catch (SQLException ex) {
Logger.getLogger(login.class.getName()).log(Level.SEVERE, null, ex);
}
finally{
System.out.close();
}
}}
/**
* Returns a short description of the servlet.
*
* @return a String containing servlet description
*/
/* @Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
我要为其重定向的jsp
<html>
<head>
<!--local jquery-->
<script src="jQuerys/jquery-1.9.1.min.js"></script>
<script src="jQuerys/jquery.mobile-1.3.1.min.js"></script>
<link rel ="stylesheet" type="text/css" href="css/jqueryMobile-1.3.1.css"/>
<!--/local jquery-->
</head>
<body>
<div data-role="page" id="inscription">
<div data-role="header" data-theme="b">
<center>CERIST</center>
</div>
<form id="insc" method="post" action="login">
<div data-role="content">
<div data-role="fieldcontain">
<label for="identifiant">Identifiant </label>
<input type="text" id="identifiant"/>
</div>
<div data-role="fieldcontain">
<label for="password1">Mot de passe </label>
<input type="password" id="password1"/>
</div>
<div data-role="fieldcontain">
<label for="password2">Confirmation</label>
<input type="password" id="password2"/>
</div>
<div data-role="fieldcontain">
<fieldset data-role="controlgroup">
<legend>Vous êtes :</legend>
<input type="radio" name="profil" id="radio-choice-1" value="Candidat" />
<label for="radio-choice-1">Utilisateur</label>
<input type="radio" name="profil" id="radio-choice-2" value="Entreprise" />
<label for="radio-choice-2">Administrateur</label>
</fieldset>
</div>
<br/>
<a href="#" data-role="button" onclick="">S'inscrire</a>
</form>
</div>
</div>
</body>
</html>
<form action="Myservlet" method="post"><br>
User name`<`input type="text" name="username"`>`<br>
Password `<`input type="password" name="password"><br>
`<`input type="submit" value="Submit" `>`
</form>
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
out.print("Oppos!!!");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String user = request.getParameter("username");
String pass = request.getParameter("password");
RequestDispatcher rd;
if (user.equals("username") && pass.equals("password")) {
rd = request.getRequestDispatcher("/inscreption.jsp");
rd.forward(request, response);
} else {
rd = request.getRequestDispatcher("/wrong.jsp");
rd.forward(request, response);
}
}
您可以创建两个以上的页面来发送请求,所以这里我创建了两个以上的jsp页面名称:right.jsp
和wrong.jsp
。如果用户名和密码是正确的,那么它就会转到right.jsp
页面。如果用户名和密码是错误的,它就会转到wrong.jsp
页面。
我想在加载aboutme时调用servlet GetUserData。jsp页面。 基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。 它设置了一个会话变量,因此它不需要调用任何东西,只需在页面加载时继续使用servlet。 这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。 最后,在JSP页面上,我想使用先前声明的会话变量将所有信息(如登录名、密码等)打印到表中。
问题内容: 是否可以在不使用HTML表单的情况下从JSP文件调用servlet? 例如,在页面加载期间在HTML表中显示数据库的结果。 问题答案: 你可以使用doGet()servlet 的方法来预处理请求并将请求转发到JSP。然后只需在链接和浏览器地址栏中指向servlet URL而不是JSP URL。 例如 请注意,JSP文件放置在/WEB-INF文件夹内,以防止用户无需调用servlet即可
这里我想使用RequestDispatcher从servlet调用jsp页面,问题是在jsp代码中调用java代码没有问题,问题是html代码不起作用 下面是代码: 重定向servlet。爪哇: showReportt_arb。jsp: 在上面的逻辑中,java代码显示在服务器控制台中,但html代码没有显示。请帮我解决这个问题
我想在加载aboutme时调用servlet GetUserData。jsp页面。 基本上,它所做的是设置一个会话变量,允许用户查看其配置文件信息。 它设置了一个会话变量,因此不需要调用任何东西,只需在页面加载时继续使用servlet即可。 这个servlet调用另一种方法来生成SQL语句并准备要发送的数据。 最后,在JSP页面上,我想使用之前声明的会话变量将所有信息(如登录名、密码等)打印到表中
在我的jsp页面中,jsp:include编号(1)不调用servlet。。我在cat_catalogo中有一个空指针异常。就是两天我在努力理解这个问题。这是我的jsp页面的结构。。如果我删除jsp:include(1)和列表,它会工作,但是如果我取消所有内容,只保留和列表,它也会工作。我绝望了。谢谢所有想帮助我的人。 这是玻璃鱼的结果:
我正试图从oracle数据库中获取图像。流程是:JSP(读取photo_id)->jsp->,它从HTML图像标记的src属性内部调用Servlet。 getphoto.jsp img标记的src属性中的getPic是servlet。 getPic.java image.java: 表定义: 但是在点击获取照片后,我只是得到了照片id而不是图像。在这里,我不确定servlet是否被解雇。 请帮忙。