在实例中区别转发与重定向--可以自己复制粘贴看看效果
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>
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>
相关文章推荐
- servlet请求转发与重定向的区别------用生活实例来形象说明两者的区别
- 请求转发与请求重定向区别(实例)
- java 转发和重定向区别及实例代码
- 请求转发:MVC设计模式、细节、请求域属性的编程实例、请求重定向和请求转发的区别
- 请求转发:MVC设计模式、细节、请求域属性的编程实例、请求重定向和请求转发的区别
- sendRedirect(重定向)与getRequestDispatcher.forward(转发)的区别 用实例说话!
- 转发与重定向的区别详解
- JSP转发和重定向的区别
- JAVA 的服务器重定向:使用forward()方法转发请求和使用 sendRedirect()方法重定向的区别
- servlet中请求转发(forword)与重定向(sendredirect)的区别
- 转发和重定向的区别
- javaweb中请求转发与重定向的区别
- 转发和重定向的区别
- 转发,重定向中的路径问题以及两者的区别,用法
- Java中实现"请求转发"和"重定向",有什么区别...
- javascript 文本框不可以复制粘贴
- [Android实例] [附实例]Android 动画效果二 Frame Animation 动画专题研究 二 [复制链接]
- java 重定向和转发的区别
- 【转发】和【重定向】的区别
- 转发和重定向的区别