jsp界面
@WebServlet(asyncSupported = true, urlPatterns = { "/UserServlet" })
public class UserServlet extends HttpServlet {
protected void service(HttpServletRequest req,HttpServletResponse resp) throws ServletException,IOException{
//设置请求编码格式
req.setCharacterEncoding("utf-8");
//设置响应编码格式
resp.setContentType("text/html;charset=utf-8");
//获取操作符
String oper = req.getParameter("oper");
if("login".equals(oper))
{
//调用登录处理方法
checkUserLogin(req,resp);
}
else if("reg".equals(oper))
{
//调用注册功能
}else
{
System.out.println("没有找到对应的操作符"+oper);
}
}
//处理登录
private void checkUserLogin(HttpServletRequest req,HttpServletResponse resp)
{
//获取请求信息
String uname = req.getParameter("uname");
String pwd = req.getParameter("pwd");
//处理请求信息
//获取service层对象
UserService us = new UserServiceImpl();
//校验
User u = us.checkUserLoginService(uname, pwd);
System.out.println(u);
//响应处理结果
//直接响应
//请求转发
//重定向
}
}
Servlet代码(主体代码 )
感觉跳转后地址正确 不知道错在哪里
但我感觉逻辑没啥问题
实在不懂了。。。
求助
应该是正常的 用的自动映射不用自己配置web.xml 真的是不知道怎么改这个问题了
@hu啦啦啦: 那重新建一个HelloServlet及jsp测试一下,看看是否能找到
@jello chen: 改成了form action=“UserServlet”之后可以正常跳转 但报了空指针异常错误
@hu啦啦啦: 嗯,你可以在UserServiceImpl的checkUserLoginService方法里面设个断点调试一下
@jello chen: 发起登录请求成功 但后面的就直接报了空指针异常 应该没获取到用户信息
@hu啦啦啦: 单步调试一下,定位到具体抛异常的行
@jello chen: sql 语句from 写成fron了。。。。
@hu啦啦啦: 😂
不该有个.action什么得么
用debug看一下能不能到service里,将protected void service 改成public void service , 可能是方法访问权限导致的
权限没问题。。。。
private void checkUserLogin ,声明私有方法有何意义
– 番茄vs西红柿 6年前