您的位置:首页 > 其它

在实例中区别转发与重定向--可以自己复制粘贴看看效果

2017-09-07 20:59 260 查看
重定向到主页,浏览器提交方式

response.sendRedirect("name");

转发,服务器跳转方式

request.getRequestDispatcher("name").forward(request, response)

1.先建立一个web项目,然后在WebRoot中创建两个.jsp文件,代码如下

---login.jsp文件

<body>

 

    <form action="login" method="get">

    用户<input type="text" name="username"><br>

    密码<input type="password" name="userpsw"><br>

    <input type="submit" value="提交">

    </form>

  

  </body>

---index.jsp文件

 <body>

  欢迎进入index.jsp页面

   request.setCharacterEncoding("utf-8");

    String username=request.getParameter("username");

    String userpsw=request.getParameter("userpsw");

    out.print("你的登录名是:"+username+"<br>");

    out.print("你的密码是:"+userpsw+"<br>");

    out.print(new Date().toLocaleString());

<%!

int i=2;

 %>

 <%

 out.print(i);

  %>

  <br>

  <br>

   <%

   out.print("aaa");

    %>

    

  <%@ include file="123.html" %>

  </body>

2.接着在src中创建一个.java类,代码如下

---SxtServlet.java

package com.sxt;

import java.io.IOException;

import java.io.PrintWriter;

import javax.servlet.ServletConfig;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.jsp.PageContext;

public class SxtServlet extends HttpServlet{
public void init(ServletConfig config) throws ServletException {

}

protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8" );

String username=request.getParameter("username");
String userpsw=request.getParameter("userpsw");
System.out.println(username+" "+userpsw);
if(username!=null && username.equals("admin") && userpsw!=null && userpsw.equals("123")){

System.out.println( request.getRequestURI());
 
//response.sendRedirect( request.getRequestURI()+"/index.jsp");\

//request.getRequestDispatcher("index.jsp").forward(request, response);
// request.getRequestDispatcher("index.jsp").forward(request, response);
response.sendRedirect(request.getContextPath()+"/index.jsp");
}
else{
PrintWriter out=response.getWriter();
out.println("登录失败");
response.sendRedirect("index.jsp");
}
}

protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("进入了post");

}

public void destroy() {

}

}

3.最后在WebRoot下的WEB-INF的web.xml中编写如下代码(每次只要打开web.xml文件,都要刷新tomcat)

--web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">

  <display-name>jsp3</display-name>

   <servlet>

  <servlet-name>SxtServlet</servlet-name>

  <servlet-class>com.sxt.SxtServlet</servlet-class>

  </servlet>

  

  <servlet-mapping>

  <servlet-name>SxtServlet</servlet-name>

  <url-pattern>/login</url-pattern>

  </servlet-mapping>

    

 

</web-app>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: