`
u011936142
  • 浏览: 43263 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

将从数据库得到的信息分别以HTML,XML,Json的形式输出

 
阅读更多
package donghongyu.servlet;

import java.io.IOException;

public class PrintServlet extends HttpServlet {

	/**
	 * Constructor of the object.
	 */
	public PrintServlet() {
		super();
	}

	/**
	 * Destruction of the servlet. <br>
	 */
	public void destroy() {
		super.destroy(); // Just puts "destroy" string in log
		// Put your code here
	}

	/**
	 * The doGet method of the servlet. <br>
	 * 
	 * This method is called when a form has its tag value method equals to get.
	 * 
	 * @param request
	 *            the request send by the client to the server
	 * @param response
	 *            the response send by the server to the client
	 * @throws ServletException
	 *             if an error occurred
	 * @throws IOException
	 *             if an error occurred
	 */
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("tex/html,encoding=UTF-8");
		response.setCharacterEncoding("UTF-8");

		PrintWriter out = response.getWriter();

		out.print(request.getParameter("name") + "你好,欢迎登入CSDN-JAVA班开发的web网页!");

		// findUser(request, response);
		// findUserXml(request, response);
		// findUserJson(request, response);
	}

	public void findUser(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html");

		response.setCharacterEncoding("UTF-8");

		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML>");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>数据库信息</TITLE></HEAD>");
		out.println("  <BODY>");
		out.println("数据库中的数据如下:<br/>");
		// 创建userDaoImple的实例
		UserDaoImpl userDaoImpl = new UserDaoImpl();

		// 调用userDaoImple的实例内部的方法得到数据集合对象
		List<Admin> list = userDaoImpl.findAll();
		// 遍历集合

		out.println("<table border='2' style='height:40px;width:400px'>");
		out.println("<tr >");
		out.println("<td>");
		out.println("ID");
		out.println("</td>");
		out.println("<td>");
		out.println("name");
		out.println("</td>");
		out.println("<td>");
		out.println("pass");
		out.println("</td>");
		out.println("<td>");
		out.println("sex");
		out.println("</td>");
		out.println("</tr>");

		for (Admin admin : list) {

			out.println("ID:" + admin.getId() + "\t姓名:" + admin.getName()
					+ "\t密码:" + admin.getPass() + "\t性别:" + admin.getSex()
					+ "<br/>");

			out.println("<br/><br/>");

			out.println("<tr height='40px'>");
			out.println("<td>");
			out.println(admin.getId());
			out.println("</td>");
			out.println("<td>");
			out.println(admin.getName());
			out.println("</td>");
			out.println("<td>");
			out.println(admin.getPass());
			out.println("</td>");
			out.println("<td>");
			out.println(admin.getSex());
			out.println("</td>");
			out.println("</tr>");

		}
		out.println("</table>");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();

	}

	public void findUserXml(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("application/xml");

		response.setCharacterEncoding("UTF-8");

		PrintWriter out = response.getWriter();
		out.println("<?xml version='1.0' encoding='UTF-8'?>");
		// 创建userDaoImple的实例
		UserDaoImpl userDaoImpl = new UserDaoImpl();

		// 调用userDaoImple的实例内部的方法得到数据集合对象
		List<Admin> list = userDaoImpl.findAll();
		// 遍历集合

		out.println("<数据库>");

		for (Admin admin : list) {

			out.println("<用户>");
			out.println("<id>");
			out.println(admin.getId());
			out.println("</id>");

			out.println("<name>");
			out.println(admin.getName());
			out.println("</name>");

			out.println("<pass>");
			out.println(admin.getPass());
			out.println("</pass>");

			out.println("<sex>");
			out.println(admin.getSex());
			out.println("</sex>");
			out.println("</用户>");
		}

		out.println("</数据库>");
		out.flush();
		out.close();

	}

	public void findUserJson(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("application/json");

		response.setCharacterEncoding("UTF-8");

		PrintWriter out = response.getWriter();

		// 创建userDaoImple的实例
		UserDaoImpl userDaoImpl = new UserDaoImpl();

		// 调用userDaoImple的实例内部的方法得到数据集合对象
		List<Admin> list = userDaoImpl.findAll();
		// 遍历集合

		out.print("{\"user\":[");
		for (int i = 0; i < list.size(); i++) {
			Admin admin = list.get(i);
			if (i < list.size() - 1) {
				out.print("{\"id\":\"" + admin.getId() + "\",\"name\":\""
						+ admin.getName() + "\",\"pass\":\"" + admin.getPass()
						+ "\",\"sex\":\"" + admin.getSex() + "\"},");
			} else {
				out.print("{\"id\":\"" + admin.getId() + "\",\"name\":\""
						+ admin.getName() + "\",\"pass\":\"" + admin.getPass()
						+ "\",\"sex\":\"" + admin.getSex() + "\"}");
			}

		}
		out.print("]}");
		out.flush();
		out.close();

	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {

		response.setContentType("text/html");
		PrintWriter out = response.getWriter();
		out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
		out.println("<HTML>");
		out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");
		out.println("  <BODY>");
		out.print("    This is ");
		out.print(this.getClass());
		out.println(", using the POST method");
		out.println("  </BODY>");
		out.println("</HTML>");
		out.flush();
		out.close();
	}

	/**
	 * Initialization of the servlet. <br>
	 * 
	 * @throws ServletException
	 *             if an error occurs
	 */
	public void init() throws ServletException {
		// Put your code here
	}

}

package donghongyu.domain;

import java.sql.Date;

public class Admin {
	private Integer id;
	private String name;
	private String pass;
	private String sex;
	private Date birth;

	public Admin() {
		super();
		// TODO Auto-generated constructor stub
	}

	public Admin(Integer id, String name, String pass, String sex, Date birth) {
		super();
		this.id = id;
		this.name = name;
		this.pass = pass;
		this.sex = sex;
		this.birth = birth;
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPass() {
		return pass;
	}

	public void setPass(String pass) {
		this.pass = pass;
	}

	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}

	public Date getBirth() {
		return birth;
	}

	public void setBirth(Date birth) {
		this.birth = birth;
	}

	@Override
	public String toString() {
		return "Admin [id=" + id + ", name=" + name + ", pass=" + pass
				+ ", sex=" + sex + ", birth=" + birth + "]";
	}

}
package donghongyu.dao;

import java.util.List;

public interface BaseDao<T,PK,Name> {
	T FindByName(Name na);
	List<T> findAll();
}

package donghongyu.dao;

import donghongyu.domain.Admin;

public interface UserDao extends BaseDao<Admin, Integer,String> {

}


package donghongyu.dao_impl;

import java.sql.Connection;

public class UserDaoImpl implements UserDao {

	// 创建连接对象
	private Connection conn;
	private PreparedStatement pstmt;
	private ResultSet rs;

	@Override
	public List<Admin> findAll() {
		// TODO Auto-generated method stub
		// 创建返回值
		List<Admin> list = new ArrayList<Admin>();
		// 创建中间变量
		Admin admin = null;
		
		
		String sql = "select id,name,pass,sex,birth from users";
		conn = JdbcUtil.getConn();
		
		try {
			pstmt = conn.prepareStatement(sql);

			rs = pstmt.executeQuery();
			SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
			Date brit=rs.getDate("birth");
			
			while (rs.next()) {
				admin = new Admin();
				admin.setId(rs.getInt("id"));
				admin.setName(rs.getString("name"));
				admin.setPass(rs.getString("pass"));
				admin.setSex(rs.getString("sex"));
				
				
				admin.setBirth(rs.getDate("birth"));
				list.add(admin);
			}

		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} finally {
			JdbcUtil.release(pstmt, rs);
		}
		return list;
	}

	@Override
	public Admin FindByName(String na) {
		// TODO Auto-generated method stub
		Admin admin=null;
		
		String sql="select id,name,pass,sex";
		return null;
	}

}

连接数据库时封装好的类
package donghongyu.unit;

import java.io.File;

public class JdbcUtil {
	private static Connection conn;

	private JdbcUtil() {
		super();
	}

	public static synchronized Connection getConn() {
		if (conn == null) {
			try {
				// 加载驱动文件
				Class.forName("com.mysql.jdbc.Driver");
				// 创建属性文件对象
				File file = new File("F:/web/tomcate/webapps/test/WEB-INF/classes/jdbc.properties");
				// 将属性文件对象转化为流文件
				InputStream is = new FileInputStream(file);
				// 创建解读属性文件的属性的对象
				Properties prop = new Properties();
				// 将属性文件对象加载到属性对象的解析中
				prop.load(is);

				// 从属性文件取出对应的内容字段,并创建出相应的连接对象

				conn = DriverManager.getConnection(prop.getProperty("url"),
						prop.getProperty("user"), prop.getProperty("pass"));

			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		// 返回数据库连接对象
		return conn;
	}
	
	//关闭资源,
	public static void release(Statement pstmt,ResultSet rs){
		if(rs!=null){
			try {
				rs.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		if(pstmt!=null){
			try {
				pstmt.close();
			} catch (SQLException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}


分享到:
评论

相关推荐

    XML 讲解和分析

    但不久之后他们都将支持XML,那就意味着程序可以更容易的与Windows,Mac OS,Linux以及其他平台下产生的信息结合,然后可以很容易加载XML数据到程序中并分析他,并以XML格式输出结果。  为了使得SGML显得用户友好,...

    C#基类库(苏飞版)

    List转成Json|对象转成Json|集合转成Json|DataSet转成Json|DataTable转成Json|DataReader转成Json等 8.Mime MediaTypes 电子邮件类型帮助类,规定是以Xml,HTML还是文本方式发送邮件 MimeEntity Mime实体帮助类...

    (全)传智播客PHP就业班视频完整课程

    9-27 2 循环控制 金字塔的输出 9-27 3 循环控制 js的调试方法 9-27 4 函的数定义分类及使用 9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    9-27 2 循环控制 金字塔的输出 9-27 3 循环控制 js的调试方法 9-27 4 函的数定义分类及使用 9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    9-27 2 循环控制 金字塔的输出 9-27 3 循环控制 js的调试方法 9-27 4 函的数定义分类及使用 9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1...

    史上最全传智播客PHP就业班视频课,8月份视频

    9-27 2 循环控制 金字塔的输出 9-27 3 循环控制 js的调试方法 9-27 4 函的数定义分类及使用 9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1...

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    9-27 2 循环控制 金字塔的输出 9-27 3 循环控制 js的调试方法 9-27 4 函的数定义分类及使用 9-27 5 函数的调用 递归及深入使用 9-27 6 一维?榧笆樵谀诖嬷械拇嬖谛问? 9-27 7 常用数组的属性及使用方法 9-28 1...

    java开源包1

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包11

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包2

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包3

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包6

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包5

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包10

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包4

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包8

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包7

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包9

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

    java开源包101

    它以 jar 的形式发布,部署容易,使用也较为便捷。 Java邮箱地址验证 jaev jaev 是一个用来验证电子邮箱地址是否有效的 Java 项目。 Java的FastCGI网关 jFastCGI jFastCGI 是一个可以让Tomcat 之类的Servlet容器...

Global site tag (gtag.js) - Google Analytics