eclipse debug
2015-12-31 16:10
543 查看
使用jsp+servlet时,有些代码期待写在servlet中,而在jsp程序中尽量写页面代码,像在注册的时候,注册成功时要显示信息的时候,这些代码可以在jsp中通过Java代码显示,也可以在servlet中显示,可是使用servlet到jsp页面的跳转语句时,就不会显示servlet页面的内容啦,这时我们可以借助Response中的刷新头,使页面停留一些时间,然后调转到jsp页面,这样servlet中的内容也可以显示啦,看一下代码:
[java] view
plaincopy
package com.you.servlet;
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;
import com.you.bean.UserBean;
import com.you.domain.Domain;
public class RegisteServlet extends HttpServlet {
private String name;
private String word;
private String sex;
private String birth;
private String email;
private String address;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
UserBean userBean = new UserBean();
userBean.setUsername(request.getParameter("username"));
userBean.setPassword(request.getParameter("userpassword"));
userBean.setSex(request.getParameter("sex"));
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
userBean.setBirth(year + "年" + month + "月" + day + "日");
userBean.setEmail(request.getParameter("email"));
userBean.setAddress(request.getParameter("address"));
request.getSession().setAttribute("user", userBean);
name = userBean.getUsername();
word = userBean.getPassword();
sex = userBean.getSex();
birth = userBean.getBirth();
email = userBean.getEmail();
address = userBean.getAddress();
Domain myDo = new Domain();
myDo.insert(name, word, sex, birth, email, address);
PrintWriter out = response.getWriter();
out.print(name+"<br/>");
out.print(word+"<br/>");
out.print(sex+"<br/>");
out.print(birth+"<br/>");
out.print(email+"<br/>");
out.print(address);
response.setHeader("refresh", "5;URL=http://localhost:8080/Login_5/register.jsp");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
浏览器实现缓存的话,这样不能实现信息的及时更新,可以通过禁止浏览器缓存头。看一下代码:
[java] view
plaincopy
package com.you.servlet;
import java.io.IOException;
public class CacheTestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Prama", "no-cache");
PrintWriter out = response.getWriter();
out.println("本次响应的随机数为:" + Math.random());
out.println("<form action='NotServlet'" + "method='post'"
+"第一个参数:<input type='text' name='p1'><br/>" +
"第二个参数:<textarea name='p2'></textarea><br/>" +
"<input type='submit' value='提交'>" +
"</form>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
上面的三句都是禁止浏览器缓存的头,因为担心有些浏览器不识别,所以三种类型的都写上,这样就都会实现啦。
[java] view
plaincopy
package com.you.servlet;
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;
import com.you.bean.UserBean;
import com.you.domain.Domain;
public class RegisteServlet extends HttpServlet {
private String name;
private String word;
private String sex;
private String birth;
private String email;
private String address;
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
UserBean userBean = new UserBean();
userBean.setUsername(request.getParameter("username"));
userBean.setPassword(request.getParameter("userpassword"));
userBean.setSex(request.getParameter("sex"));
String year = request.getParameter("year");
String month = request.getParameter("month");
String day = request.getParameter("day");
userBean.setBirth(year + "年" + month + "月" + day + "日");
userBean.setEmail(request.getParameter("email"));
userBean.setAddress(request.getParameter("address"));
request.getSession().setAttribute("user", userBean);
name = userBean.getUsername();
word = userBean.getPassword();
sex = userBean.getSex();
birth = userBean.getBirth();
email = userBean.getEmail();
address = userBean.getAddress();
Domain myDo = new Domain();
myDo.insert(name, word, sex, birth, email, address);
PrintWriter out = response.getWriter();
out.print(name+"<br/>");
out.print(word+"<br/>");
out.print(sex+"<br/>");
out.print(birth+"<br/>");
out.print(email+"<br/>");
out.print(address);
response.setHeader("refresh", "5;URL=http://localhost:8080/Login_5/register.jsp");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
浏览器实现缓存的话,这样不能实现信息的及时更新,可以通过禁止浏览器缓存头。看一下代码:
[java] view
plaincopy
package com.you.servlet;
import java.io.IOException;
public class CacheTestServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
response.setDateHeader("Expires", 0);
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Prama", "no-cache");
PrintWriter out = response.getWriter();
out.println("本次响应的随机数为:" + Math.random());
out.println("<form action='NotServlet'" + "method='post'"
+"第一个参数:<input type='text' name='p1'><br/>" +
"第二个参数:<textarea name='p2'></textarea><br/>" +
"<input type='submit' value='提交'>" +
"</form>");
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
上面的三句都是禁止浏览器缓存的头,因为担心有些浏览器不识别,所以三种类型的都写上,这样就都会实现啦。
相关文章推荐
- Spring下设置CXF的WebService客户端超时时长
- spring为什么不能注入static变量
- [JAVA][学习笔记]关于java.util.concurrent中 Future类的一些验证
- SpringMVC的异常处理
- Spring常用属性的注入及属性编辑器
- mac上切换jdk版本
- Tip:查看一个jar文件是用什么jdk版本编译的
- java JXL操作Excel文件
- Java基于socket编程
- Java序列化与反序列化
- java9.接口的应用
- Spring MVC
- springMVC、spring、mybatis整合测试
- java.io.FileNotFoundException: [WEB-INF/spring-servlet.xml] cannot be opened because it does not exist
- java double精度丢失问题
- JAVA父类子类静态代码块、静态变量、构造方法的执行顺序
- JAVA解析html标签
- jdk 1.7环境下编译打包1.6版本的jar包
- Android Studio报有ava JDK valu exit 2...错误
- java8.抽象类的应用