【Java Web】Jsp+Servlet+JavaBean+MySql入门级MVC实例
来源:互联网 发布:基督山伯爵漫画知乎 编辑:程序博客网 时间:2024/05/22 00:10
创建数据库的代码:
drop database if exists info;create database info;use info;create table infotable(name varchar(20), age varchar(10), mail varchar(100), time date);
jsp文件的代码:
addInfo.jsp代码:
<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <form action="servlet/AddInfoServlet" method="post"> 请登记个人信息:<br> 姓名:<input type="text" name="name"/><br> 年龄:<input type="text" name="age"/><br> 邮箱:<input type="text" name="mail"/><br> <input type="submit" value="提交并查看"/> <input type="reset" value="重置"/> </form> </body></html>
viewInfo.jsp代码:
<%@ page language="java" contentType="text/html;charset=gb2312"%><%@ page import="java.sql.*,info.*,java.util.*" %><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html> <head> <base href="<%=basePath%>"> <title>My JSP 'viewInfo.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"><meta http-equiv="description" content="This is my page"><!--<link rel="stylesheet" type="text/css" href="styles.css">--> </head> <body> <center>所有用户信息如下:<hr> </center> <% int infoCount=0; //直接从request中获得所有记录 Collection messages=(Collection)request.getAttribute("messages"); Iterator it=messages.iterator(); while(it.hasNext()) { InfoBean message=(InfoBean)it.next(); out.println("姓名:"+message.getName()+", 年龄:"+message.getAge()+", 邮箱:"+message.getMail()+", 时间:"+message.getDate()+"<br>"); out.print("\n"); } %> </body></html>
JavaBean部分的代码:
package info;public class InfoBean {private String name;private String age;private String mail;private java.sql.Date date;public void setName(String name){this.name=name;}public String getName(){return name;}public void setAge(String age){this.age=age;}public String getAge(){return age;}public void setMail(String mail){this.mail=mail;}public String getMail(){return mail;}public void setDate(java.sql.Date date){this.date=date;}public java.sql.Date getDate(){return date;}}
Servlet部分的代码:
AddInfoServlet.java代码:
package info;import java.util.*;import java.sql.*;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class AddInfoServlet extends HttpServlet {private Connection con=null;/** * Constructor of the object. */public AddInfoServlet() {//super();String CLASSFORNAME="com.mysql.jdbc.Driver";String SERVANDDB="jdbc:mysql://127.0.0.1:3306/info";String USER="root";String PWD="123456";try{Class.forName(CLASSFORNAME).newInstance();//建立数据库连接concon=DriverManager.getConnection(SERVANDDB,USER,PWD);System.out.println( "数据库加载成功" );}catch(Exception e){//e.printStackTrace();//捕捉可能出现的异常System.out.println( "数据库加载失败" );}}/** * 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 {doPost(request, response);}/** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @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 doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {//System.out.println( "post方法" );response.setContentType("text/html;charset=gb2312");PrintWriter out = response.getWriter();String name=request.getParameter("name");String age=request.getParameter("age");String mail=request.getParameter("mail");try{//向表中插入信息PreparedStatement stm=con.prepareStatement("insert into infotable values(?,?,?,?)");stm.setString(1,name);stm.setString(2,age);stm.setString(3,mail);stm.setDate(4, new java.sql.Date(new java.util.Date().getTime()));try{stm.executeUpdate();System.out.println( "插入信息成功" );}catch(Exception e){System.out.println( "插入信息失败" );}//将请求转向ViewInfoServlet,用于查询数据库中的所有记录,然后调用JSP界面显示RequestDispatcher requestDispatcher=request.getRequestDispatcher("ViewInfoServlet");requestDispatcher.forward(request, response);//转发请求到ViewInfoServletSystem.out.println( "转发request" );}catch(Exception e){e.printStackTrace();}}/** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */public void init() throws ServletException {// Put your code here}}
ViewInfoServlet.java代码:
package info;import java.util.*;import java.sql.*;import java.io.IOException;import java.io.PrintWriter;import javax.servlet.RequestDispatcher;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ViewInfoServlet extends HttpServlet {private Connection con=null;/** * Constructor of the object. */public ViewInfoServlet() {//super();String CLASSFORNAME="com.mysql.jdbc.Driver";String SERVANDDB="jdbc:mysql://127.0.0.1:3306/info";String USER="root";String PWD="123456";try{Class.forName(CLASSFORNAME).newInstance();//建立数据库连接concon=DriverManager.getConnection(SERVANDDB,USER,PWD);System.out.println( "view连接数据库成功" );}catch(Exception e){e.printStackTrace();//捕捉可能出现的异常System.out.println( "连接数据库失败" );}}/** * 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 {doPost(request,response);}/** * The doPost method of the servlet. <br> * * This method is called when a form has its tag value method equals to post. * * @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 doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();Collection ret=new ArrayList();try{Statement st=con.createStatement();//查询表中有几条记录ResultSet result=st.executeQuery("select count(*) from infotable");int infoCount=0;if(result.next()){infoCount=result.getInt(1);//得到infotable表中的记录数result.close();}if(infoCount>0){//按照时间顺序查询表infotable中的所有记录result=st.executeQuery("select * from infotable order by time desc");while(result.next()){String name=result.getString("name");String age=result.getString("age");String mail=result.getString("mail");java.sql.Date date=result.getDate("time");//创建InfoBean对象,用于存储数据库中的数据InfoBean infoBO=new InfoBean();infoBO.setName(name);infoBO.setAge(age);infoBO.setMail(mail);infoBO.setDate(date);ret.add(infoBO);}result.close();st.close();}//将所有存储infoBO对象的集合添加到request对象中request.setAttribute("messages", ret);RequestDispatcher requestDispatcher = request.getRequestDispatcher("/viewInfo.jsp");requestDispatcher.forward(request, response);//将request发送出去}catch(Exception e){e.printStackTrace();}}/** * Initialization of the servlet. <br> * * @throws ServletException if an error occurs */public void init() throws ServletException {// Put your code here}}
填写个人信息界面:
提交之后显示全部的个人信息界面:
0 0
- 【Java Web】Jsp+Servlet+JavaBean+MySql入门级MVC实例
- MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证
- MVC(JSP+JavaBean+Servlet)入门实例:用户登陆验证
- java web MVC的实现(JSP+Servlet+javaBean)
- Jsp+Servlet+JavaBean简单mvc实例
- Jsp+Servlet+JavaBean简单mvc实例
- Jsp+Servlet+JavaBean简单mvc实例
- Jsp+Servlet+JavaBean简单mvc实例
- Jsp+Servlet+JavaBean简单mvc实例
- 浅谈MVC(jsp+servlet+JavaBean简单实例)
- jsp+servlet+JavaBean+MySQL实现登陆实例
- javaWeb入门<1>Servlet+Jsp+JavaBean实现MVC开发模式登陆注册实例详解
- java-web分页操作(javaBean+Servlet+jsp)
- java web初学者 jsp+javabean+servlet 登陆
- Java Web:JSP+ Servlet+JavaBean+DAO
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- 深入浅出Java MVC(Model View Controller) ---- (JSP + servlet + javabean实例)
- Mondrian入门
- Manacher’s Algorithm( O(n)最长回文串)
- 缓冲区设计--环形队列
- Android——Service 使用(二)
- 游长实参表
- 【Java Web】Jsp+Servlet+JavaBean+MySql入门级MVC实例
- Nyoj 12 喷水装置(二)
- 给你一个字符串,把连续出现的相同字符串变成只出现一次
- NoSQL以及其应用场景
- Android自定义组件系列【1】——自定义View及ViewGroup
- 获取Android手机各种状态信息
- maven2向新项目中关联本地仓库已有jar包操作
- 实验10.2_解决除法溢出的问题
- 不要在上班时间看书 经典啊