浏览器访问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页面。。哦~数据库连接这些是没问题的。请问各位大大们这个是怎么回事啊?困扰我几天了!
相关推荐
JavaWeb美食网站实战:Servlet+JSP+MySQL从零搭建与避坑指南
JavaWeb是Java企业级开发的基石概念,涵盖Servlet容器、JSP渲染、HTTP协议交互及传统MVC分层架构。其核心原理在于请求响应模型驱动的同步阻塞式处理,技术价值体现在轻量可控、调试直观、底层逻辑透明,特别适合理解Web应用运行本质。典型应用场景包括教学项目、内部管理系统、中小型企业官网等对高并发无强需求但需快速交付的系统。本文以‘基于Servlet+JSP+MySQL的美食网站’为载体,深入剖析环境配置(IDEA+Tomcat)、会话管理(Session)、数据持久化(JDBC/Prepar
学籍管理系统设计与实现:从技术选型到论文答辩的完整指南
管理信息系统是高校课程设计与毕业设计中的常见选题,其核心价值在于通过结构化数据管理实现业务流转的规范化。以学籍管理系统为例,系统通常采用B/S架构,基于Java生态的Spring Boot框架整合MyBatis持久层,借助MySQL数据库完成数据存储,并通过ER图设计明确班级、学生、课程与成绩之间的关联关系。技术选型需兼顾开发周期、论文表现力与答辩解释成本,数据库设计则要平衡字段完整性与实现复杂度,逻辑外键、唯一约束等设计决策能有效提升系统的健壮性。从登录鉴权到学生CRUD再到成绩录入,每一模块的实现既是对
Spring Boot教务系统源码:覆盖排课考勤缴费全链路
教务系统是教育信息化的核心应用,其本质是围绕学生、教师、课程、时间四大要素构建的业务协同平台。基于Spring Boot的现代化实现,依托事务控制、事件驱动与动态SQL等关键技术,可保障排课冲突检测、课时自动结算、多维报表生成等核心逻辑的强一致性与可扩展性。该架构不仅支撑培训机构招生、分班、考勤、缴费、统计等真实SaaS场景,也为Java开发者提供了理解领域建模、RBAC权限设计及生产级部署规范的完整范本。本文详解一套开箱即用的Spring Boot+Vue教务系统源码,涵盖环境适配、排课引擎、课时结算与避
高校及科研院所如何利用外部数据完善技术转移转化机制.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
完全复现虚拟同步发电机VSG自适应惯量阻尼控制仿真、根轨迹、调节系数对比(Simulink仿真、Matlab代码实现)
内容概要:本文档围绕“【完全复现】虚拟同步发电机VSG自适应惯量阻尼控制仿真、根轨迹、调节系数对比”这一主题,利用Simulink和Matlab平台,系统性地实现了虚拟同步发电机(VSG)的自适应惯量与阻尼控制策略的建模与仿真。内容涵盖VSG的核心控制原理、系统动态响应特性分析、根轨迹绘制以及在不同调节系数下的性能对比研究,旨在深入剖析关键控制参数对系统稳定性与动态性能的影响机制,为新能源并网系统中提升频率支撑能力和暂态稳定性的控制策略设计提供理论依据和技术支持。; 适合人群:具备扎实的电力系统分析与自动控制理论基础,熟练掌握Matlab/Simulink仿真工具,主要从事新能源发电、微电网运行、电力电子变换器控制或电力系统稳定研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①开展虚拟同步发电机(VSG)的建模与先进控制策略的深入研究;②探究自适应惯量与阻尼控制对改善电网频率响应速度和平抑功率波动的作用机理;③运用根轨迹法进行系统稳定性分析,并指导控制器参数的优化整定;④完成高水平学术论文撰写或科研项目申报所需的仿真复现实验。; 阅读建议:本资源以“完全复现”为核心目标,提供了完整的仿真模型与配套代码。使用者应在深入理解同步发电机转子运动方程、虚拟惯量及阻尼物理意义的基础上,结合电力系统暂态稳定理论,逐步操作并调试仿真模型,尤其需关注不同调节系数变化对系统动态性能指标(如超调量、调节时间)的影响,从而深化对VSG内在控制机制与稳定边界的认知。


Web 开发
