从servlet读取响应到html页面
以下是我的要求从servlet读取响应到html页面,html,servlets,Html,Servlets,以下是我的要求 Login.html页面以及表单中的用户名和密码文本字段 Login.html-->提交btn->调用LoginServlet LoginServlet-->来自数据库的已验证用户 成功时-->调用DashboardServlet和DashboardServlet-->调用Dashboard.html 如何读取Dashboard.html上的响应对象[我在这里从DashboardServlet传递用户名] 如果第4步失败-->LoginServlet将再次调用Login.html
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("I am in doPost of LoginServlet");
String userName = request.getParameter("username");
String passWord = request.getParameter("password");
if(LoginDao.validate(userName, passWord))
{
HttpSession session=request.getSession();
if(session.isNew())
{
//New session creation
session=request.getSession(true);
}
else
{
session = request.getSession(false);
}
//setting attribute on session
session.setAttribute("userName",userName);
//send request to Welcome.jsp page
//response.sendRedirect("/Dashboard.html");
response.sendRedirect("/zmcwebadmin/dashBoardServlet");
response.getWriter().write(String.valueOf(userName));
System.out.println("I have connected to DB");
}
else
{
//response.sendRedirect("error.html");
String data = "User name and password do not match";
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(data);
/*RequestDispatcher rd = request.getRequestDispatcher("Loginpage.html"); -- This solution works
rd.forward(request, response);*/
//response.sendRedirect("Loginpage.html");
request.setAttribute("error", "Unknown login, try again");
response.sendRedirect("/zmcwebadmin/html/Login.html");
//doGet(request, response);
System.out.println("I have not connected to server");
}
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("I am in doGet of dashBoardServlet");
//New writing on 19th March where initial control given to servlet
HttpSession session = request.getSession(false);
if(session.getAttribute("userName") == null) //session is not created
response.sendRedirect("/zmcwebadmin/html/LoginPage.html");
else
response.sendRedirect("/zmcwebadmin/html/Dashboard.html");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("I am in doPost of dashBoardServlet");
String scannerState = request.getParameter("scannerState");
System.out.println("Dashboard servlet called, scannerState: " + scannerState);
System.out.println("I am in dashBoardServlet");
ZebraDbDao zebraDbDao = new ZebraDbDao();
List<Scanner> scannerList;
try {
scannerList = zebraDbDao.getScannerDetail(scannerState);
System.out.println("I got the scanner list");
String json = new Gson().toJson(scannerList);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
} catch (SQLException e) {
e.printStackTrace();
} // online scanner
}
仪表板servlet
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
System.out.println("I am in doPost of LoginServlet");
String userName = request.getParameter("username");
String passWord = request.getParameter("password");
if(LoginDao.validate(userName, passWord))
{
HttpSession session=request.getSession();
if(session.isNew())
{
//New session creation
session=request.getSession(true);
}
else
{
session = request.getSession(false);
}
//setting attribute on session
session.setAttribute("userName",userName);
//send request to Welcome.jsp page
//response.sendRedirect("/Dashboard.html");
response.sendRedirect("/zmcwebadmin/dashBoardServlet");
response.getWriter().write(String.valueOf(userName));
System.out.println("I have connected to DB");
}
else
{
//response.sendRedirect("error.html");
String data = "User name and password do not match";
response.setContentType("text/plain");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(data);
/*RequestDispatcher rd = request.getRequestDispatcher("Loginpage.html"); -- This solution works
rd.forward(request, response);*/
//response.sendRedirect("Loginpage.html");
request.setAttribute("error", "Unknown login, try again");
response.sendRedirect("/zmcwebadmin/html/Login.html");
//doGet(request, response);
System.out.println("I have not connected to server");
}
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("I am in doGet of dashBoardServlet");
//New writing on 19th March where initial control given to servlet
HttpSession session = request.getSession(false);
if(session.getAttribute("userName") == null) //session is not created
response.sendRedirect("/zmcwebadmin/html/LoginPage.html");
else
response.sendRedirect("/zmcwebadmin/html/Dashboard.html");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("I am in doPost of dashBoardServlet");
String scannerState = request.getParameter("scannerState");
System.out.println("Dashboard servlet called, scannerState: " + scannerState);
System.out.println("I am in dashBoardServlet");
ZebraDbDao zebraDbDao = new ZebraDbDao();
List<Scanner> scannerList;
try {
scannerList = zebraDbDao.getScannerDetail(scannerState);
System.out.println("I got the scanner list");
String json = new Gson().toJson(scannerList);
response.setContentType("application/json");
response.setCharacterEncoding("UTF-8");
response.getWriter().write(json);
} catch (SQLException e) {
e.printStackTrace();
} // online scanner
}
/**
*@参见HttpServlet#doGet(HttpServletRequest请求,HttpServletResponse
*(答复)
*/
受保护的void doGet(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
//TODO自动生成的方法存根
System.out.println(“我在dashBoardServlet的doGet中”);
//3月19日的新文章,其中初始控制权授予servlet
HttpSession session=request.getSession(false);
如果(session.getAttribute(“userName”)==null)//未创建会话
sendRedirect(“/zmcwebadmin/html/LoginPage.html”);
其他的
sendRedirect(“/zmcwebadmin/html/Dashboard.html”);
}
/**
*@参见HttpServlet#doPost(HttpServletRequest,HttpServletResponse
*(答复)
*/
受保护的void doPost(HttpServletRequest请求、HttpServletResponse响应)
抛出ServletException、IOException{
//TODO自动生成的方法存根
System.out.println(“我在dashBoardServlet的doPost中”);
字符串scannerState=request.getParameter(“scannerState”);
System.out.println(“被调用的仪表板servlet,scannerState:+scannerState”);
System.out.println(“我在dashBoardServlet中”);
ZebraDbDao ZebraDbDao=新的ZebraDbDao();
列表扫描列表;
试一试{
scannerList=zebraDbDao.getScannerDetail(scannerState);
System.out.println(“我得到了扫描列表”);
字符串json=new Gson().toJson(扫描列表);
setContentType(“应用程序/json”);
响应。setCharacterEncoding(“UTF-8”);
response.getWriter().write(json);
}捕获(SQLE异常){
e、 printStackTrace();
}//在线扫描仪
}
Dashboard.html
<script>
function changeLogoutImage() {
var image = document.getElementById('logoutbtn'); /* function for logout image*/
if (image.src.match("_selected")) {
image.src = "../Images/logout_deselected.png";
} else {
image.src = "../Images/logout_selected-18.png";
}
}
$(document).ready(function(){
$('#form_logout').submit(function()
{
$form = $(this);
$.post($form.attr('action'), $form.serialize(), function(responseText) {
$('#usenameText').text(responseText);
});
return false;
});
});
函数changeLogoutImage(){
var image=document.getElementById('logoutbtn');/*用于注销映像的函数*/
if(image.src.match(“\u selected”)){
image.src=“../Images/logout\u deselected.png”;
}否则{
image.src=“../Images/logout_selected-18.png”;
}
}
$(文档).ready(函数(){
$('#表单_注销')。提交(函数()
{
$form=$(此项);
$.post($form.attr('action'),$form.serialize(),函数(responseText){
$('usenameText').text(responseText);
});
返回false;
});
});
ZMC服务器
用户名
您无需任何额外步骤即可访问响应对象:
但您正在会话中存储警报,例如,${sessionScope.userName}
。还有一件事:您需要使用jsp访问它们,普通html不行。“我忘了提那件事了!”彼得谢谢你的回答。我限制自己使用jsp,并希望通过html或任何javascript方法实现。恐怕这是不可能的,或者我的知识还不够。您可以访问响应对象,而无需任何额外步骤:
但您正在会话中存储警报,即${sessionScope.userName}
例如,还有一件事:您需要使用jsp来访问它们,普通html是不行的。“我忘了提那件事了!”彼得谢谢你的回答。我限制自己使用jsp,并希望通过html或任何javascript方法实现。我担心这是不可能的,或者我的知识还不够。