前面搞了这么多,开始完成这个Servlet类了。
Sevlet类不难,我们只要重写父类中的两个方法就可以搞定,doPost(),doGet(),然后重要的是加个注解@WebServlet(urlPatterns = "/userdel"),urlPatterns这个属性是设置servlet的“地址”,用处主要是在
…
将前台和后台连接起来。(jsp后面会复习的,这里先省略)
UserTableSevlet.java
-
@WebServlet(urlPatterns = "/userdel")
-
public class UserTableServlet extends HttpServlet {
-
-
-
UserTableService userService = null;
-
//声明业务接口
-
-
@Override
-
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
-
throws ServletException, IOException {
-
// TODO Auto-generated method stub
-
// 获取前端数据
-
String name = req.getParameter("username");
-
String password = req.getParameter("passwd");
-
String email = req.getParameter("email");
-
// 将前端数据封装到对象中
-
UserTable user = new UserTable();
-
user.setUserName(name);
-
user.setPassword(password);
-
user.setEmail(email);
-
// 实现业务类
-
userService = new UserTableServiceImpl();
-
boolean flag = userService.add(user);
-
//这if语句只是用来验证功能,并不实现与前台交互
-
-
if (flag) {
-
System.out.println("注册成功");
-
} else {
-
System.out.println("注册失败");
-
}
-
}
-
-
-
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
-
throws ServletException, IOException {
-
doPost(req, resp);
-
}
-
-
-
}
在运行过程中出行的两个问题
1.部署完项目,启动tomcat。在访问127.0.0.1时出现了这样一个错误:
java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl cannot be cast to org.apache.jasper.el.ELContextImpl
出现这个错误的原因是因为jar冲突,我们只需要先关闭tomcat服务器,修改tomcat下的conf目录下的context.xml,在这个文件中添加一行配置信息:<Loader
delegate="true" />,这个问题就能解决。
2.当我提交注册信息时,提示报了一个空指针异常问题,原因是找不到db.properties文件的路径,这让我犯了迷糊,我们在测试的时候不是好好的吗。但是毕竟java运行程序和javaweb运行程序机制是不一样的,造成错误的代码是这句:
BufferedInputStream in = new BufferedInputStream( new FileInputStream("/db.properties"));
建议以后在读取配置文件的时候用
InputStream in = this.getClass().getResourceAsStream("/db.properties");这种相方式来读取。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29876573/viewspace-1815920/
,如需转载,请注明出处,否则将追究法律责任。