您的位置:首页 > 编程语言 > Java开发

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);

}

}

上面的三句都是禁止浏览器缓存的头,因为担心有些浏览器不识别,所以三种类型的都写上,这样就都会实现啦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: