接上次的版本,把上次的修改成为基于web的项目.
总算是可以脱离命令行,使用jsp作为前端,能有一个友好的页面了.
上次既然已经开始用三层架构的模式了,这次也就接着使用三层架构,把之前的拿过来继续改改用.
首先核心要修改的就是controller层,因为要改成web项目,controller层负责的就是用户交互,收集用户输入的信息,展示信息,而这些东西都要交给servlet和jsp完成.
又因为不适合在jsp中编写复杂逻辑,所以就直接用servlet来充当controller层.
service层和dao层暂时先不用修改.瞬间体会到了三层架构的优势,每层都各司其职,修改只需要修改相关的层,不相关的完全可以不用修改.
既然用了web,就单纯的想给这个系统添加一个用户登录的功能,以此练习一下用户登录相关的功能.
index.jsp就简简单单的给个超链接指向登录页面login.jsp
其中通过EL表达式${pageContext.request.contextPath}动态获取虚拟路径,之后拼接login.jsp的路径即可跳转过去.
在login.jsp中也就一个简单的表单,用来做登录信息的提交.
表单肯定是直接提交到servlet中的,所以action直接指向LoginServlet,当然这个路径也通过EL表达式拼接绝对路径.
LoginServlet需要继承HttpServlet.并且重写doPost和doGet方法.Tomcat会在用户访问的时候,自动调用HttpServlet中的service
方法的,而在HttpServlet的service方法中,又根据请求的信息,分别调用doPost和doGet方法.
在LoginServlet中,主要要做的事便是
接收请求数据
打包数据
扔给service层处理业务
接收service层的返回结果
根据结果判断应该怎么做
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { // 接收请求.........