在之前的登陆例子里面所有的代码都是放到了jsp的页面中,但是JSP是负责显示的,现在用于了流程控制,这样十分不妥,所以我们把代码提取到了servlet里面
代码实现
Login.jsp
<h3>用户登录</h3> <form action="DoLogin"> 账号:<input type="text" name="zh"/> 密码:<input type="password" name="pwd"> <input type="submit" value="提交"/> </form>
DoLogin.java
public class DoLogin extends HttpServlet {@Overrideprotected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {//[1]接受login.jsp页面的发送过来的数据String uname= request.getParameter("uname");String pwd= request.getParameter("pwd");//[2]数据处理,得到结果--使用接受的数据去数据库作比较boolean flag=false;if("sxt".equals(uname)&&"123".equals(pwd)){flag=true;}//[3]根据返回的结果给用户做出响应if(flag){//可以实现页面的跳转--转发 request.getRequestDispatcher("admin/success.jsp").forward(request,response);//out.print("登录成功");}else{ request.getRequestDispatcher("admin/login.jsp").forward(request,response);//out.print("登录失败");}}
}
web.xml
<servlet><servlet-name>doLogin</servlet-name><servlet-class>com.java.servlet.DoLogin</servlet-class>
</servlet>
<servlet-mapping><servlet-name>doLogin</servlet-name><url-pattern>/DoLogin</url-pattern>
</servlet-mapping>
什么是Servlet
Servlet是一个基于Java技术的动态网页技术,运行在服务器端,由Servlet容器管理,用于生成动态的内容。是JSP的前身
Servlet是平台独立的符合特定规范的java类,编写一个Servlet,实际上就是按照Servlet规范编写一个java类。
Servlet不是由用户或程序员直接调用,而是由容器(Tomcat)管理,没有main()方法。
Servlet和JSP的关系
所有的JSP都要先翻译成Servlet,然后编译成class,最后执行
JSP本质上就是一个Servlet
JSP的执行过程
.jsp—翻译–.java(Servlet)----编译–.class-----执行—
JSP出现后,Servlet被淘汰了吗?
没有
不再使用Servlet实现动态网页
现在的Servlet用于控制操作