浏览器访问tomcat的servlet出现空白页面???救急!!
第一个源码:
package Test;
import javax.servlet.http.*;
import java.io.*;
public class Login extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
{
try
{
res.setContentType("text/html;charset=gbk");
PrintWriter pw=res.getWriter();
//返回登录界面
pw.println("<html>");
pw.println("<body>");
//得到error信息
String info=req.getParameter("info");
if(info!=null)
{
pw.println("<h1>用户名或者密码错误<h1>");
}
pw.println(" <h1> 登陆界面 <h1>");
pw.println("<form action=loginCL method=post >");
pw.println("用户名:<input type=text name=userName/> <br/> ");
pw.println("密码:<input type=password name=passwd/> <br/> ");
pw.println(" <input type=submit value=login> <br/> ");
pw.println("</form>");
pw.println("</body>");
pw.println("</html>");
}
catch(Exception e)
{
e.printStackTrace();
}
}
//处理post请求
public void doPost(HttpServletRequest req, HttpServletResponse res)
{
this.doGet(req,res);
}
}
第二个源码
package Test;
import java.sql.*;
import java.io.*;
import javax.servlet.http.*;
public class LoginCL extends HttpServlet
{
Connection ct=null;
Statement ps=null;
ResultSet rs=null;
public void doGet(HttpServletRequest req, HttpServletResponse res)
{
try
{
//接受用户名和密码
String u=req.getParameter("userName") ;
String p=req.getParameter("passwd");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver").newInstance();
ct=DriverManager.getConnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=student", "sa", "12587410");
ps=ct.createStatement();
rs=ps.executeQuery("select * from users where userName='"+u+"'and passwd='"+p+"'");
if(rs.next())
{
//合法
//将验证成功的的信息写入session 1.得到session
HttpSession hs =req.getSession(true);
hs.setMaxInactiveInterval(20);
hs.setAttribute("pass", "ok");
//res.sendRedirect("wel?uname="+u); //将名字同时传到wel页面
res.sendRedirect("wel?uname=u&&upasswd=p"); //将名字和密码同时传到wel页面 一定要有&。
}
else
{
//不合法,注意是你要到达的URL
res.sendRedirect("login");
}
}
catch(Exception e)
{
e.printStackTrace();
}
this.close();
}
public void close()
{
try
{
if(rs!=null)
{
rs.close();
}
if(ps!=null)
{
ps.close();
}
if(ct!=null)
{
ct.close();
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doPost(HttpServletRequest req, HttpServletResponse res)
{
this.doGet(req,res);
}
}
第三个源码
package Test;
import javax.servlet.http.*;
import java.io.*;
public class Wel extends HttpServlet
{
public void doGet(HttpServletRequest req, HttpServletResponse res)
{
//得到session
HttpSession hs =req.getSession(true);
String myName=(String)hs.getAttribute("pass");
if(myName==null){
try
{
//非法登录 让它跳转到登陆界面
res.sendRedirect("login?info=error1");
return;
}
catch(Exception e)
{
e.printStackTrace();
}
}
String u=req.getParameter("uname");
String p=req.getParameter("upasswd");
try{
res.setContentType("text/html;charset=gbk");
PrintWriter pw=res.getWriter();
pw.println("wel,Hello "+u+p);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void doPost(HttpServletRequest req, HttpServletResponse res)
{
this.doGet(req,res);
}
}
学习韩顺平老师的servlet视频 代码是照着他的打的 所有环境,服务器都是照他视频讲的配置的 在他的视频里,他能用浏览器成功地从login页面跳转到wel页面,但我调试的时候,在login页面键入用户名,密码后,却在地址栏一直出现http://localhost:8080/myapp/loginCL,页面一直空白,压根就跳转不到wel页面。。哦~数据库连接这些是没问题的。请问各位大大们这个是怎么回事啊?困扰我几天了!