文章内容:运行结果图+Servlet类代码+web.xml中Servlet的配置代码+jsp代码 100%能运行成功,亲自试验结果。
第一部分:运行结果图
输入用户名:mr 密码:123 点击登录,出现下面窗口。
第二部分:新建一个名为ForwardServlet的Servlet类(其实就是一个普通的java类,加上Servler的代码就是Servlet类了)具体代码如下:
/** * Created by Administrator on 2017/7/24. * 功能:在Servlet中控制页面的转发 * 实现技术:使用RequestDispatcher对象的forward()方法。通过forward()方法将当前的请求转发到其他web组件 * 注意:该方法可以将当前正在处理的请求转发到其他web组件(Servlet/JSP/HTML),在该业中可以通过request内置对象来获得此请求 */ import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ForwardServlet extends HttpServlet { public ForwardServlet() { super(); } public void destroy() { super.destroy(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); //设置请求数据的字符编码格式 String name = request.getParameter("name"); //获得请求表单中的用户名 String pwd = request.getParameter("pwd"); //获得请求表单中的密码 if((name!=null&&!name.equals(""))&&(pwd!=null&&!pwd.equals(""))){ if(name.equals("mr")&&pwd.equals("123")){ //使用RequestDispatcher对象将页面请求转发到success.jsp页 request.getRequestDispatcher("success.jsp").forward(request, response); }else{ request.getRequestDispatcher("error.jsp").forward(request, response); } } } /** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */ public void init() throws ServletException { // Put your code here } }
第三部分:web.xml中Servlet的配置代码(就是在系统生成的<web-app>标签中插入Servlet配置代码)
具体如下:
<servlet> <servlet-name>ForwardServlet</servlet-name> <!--自定义的servlet名--> <servlet-class>ForwardServlet</servlet-class> <!--具体的类路径--> </servlet> <servlet-mapping> <servlet-name>ForwardServlet</servlet-name> <!--自定义的servlet名,与上面的name一致--> <url-pattern>/forward</url-pattern> <!--对应网页地址中具体的servlet名--> <!--<url-pattern>/WebClient/ForwardServlet</url-pattern>--> </servlet-mapping>
第四部分:jsp代码(在系统生成的index.jsp中写入代码) 具体代码如下:
<%@ page pageEncoding="UTF-8" import="java.util.*" language="java" %> <% String path=request.getContextPath();%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>用户登录</title> </head> <body> <center> <p>用户登录</p> </center> <form action="forward" method="post"> <table border="1" width="250px;" align="center"> <tr> <td width="75px">用户名:</td> <td><input type="text" name="name"></td> </tr> <tr> <td width="75px">密 码:</td> <td><input name="pwd" type="password"></td> </tr> <tr> <td colspan="2"> <input type="submit" value="登录"/> </td> </tr> </table> </form> </body> </html>
点击运行。如果运行不成功,可能出现下面的问题:
1、JDK、Tomcat在Intellij idea中没有配置好,因为新建一个Java web需要再对intellij idea 进行配置,相关的配置请参照:如何新建一个web工程
2、各个文件的调用路径不对,特别是web.xml中Servlet的配置代码中的名字。具体请参照:如何在web.xml中写Servlet的配置代码
参考文章:Java Web开发实例大全 清华大学出版社 作者:软件开发技术联盟