10步教你学会简单的MVC架构的java程序(适合新手)

来源:互联网 发布:html文章发布网页源码 编辑:程序博客网 时间:2024/04/29 00:54
适合新手,大拿手下留情,谢谢!

第1步:安装Oracle数据库,安装过程不赘述了;

第2步:新建一个账号zwp_test

//创建临时表空间create temporary tablespace zwp_test_temp   tempfile 'F:\app\Administrator\oradata\zwp_test_temp.dbf'  size 50m   autoextend on   next 50m maxsize 20480m   extent management local;//创建数据表空间create tablespace zwp_test_data   logging   datafile 'F:\app\Administrator\oradata\zwp_test_data.dbf'  size 50m   autoextend on   next 50m maxsize 20480m   extent management local; //创建用户create user zwp_test identified by zwp_testdefault tablespace zwp_test_datatemporary tablespace zwp_test_temp;//授予权限grant connect,resource,dba to zwp_test;

第3步:新建一个users表

create table users (  userid   varchar2(8) not null primary key , username varchar2(10) not null, password varchar2(20) default '' not null ,  age      int default '' not null , sex      varchar2(20) not null ) tablespace zwp_test_data;

第4步:插入数据

insert into users(userid,username,password,age,sex) values('001','zhouwp','123',25,'man');

第5步:搭建环境,我就不赘述了,可以百度、谷歌

功能说明:

做一个用户查询的功能

资源结构如下图:

第6步:显示界面JSP

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%><%@ page import="com.web.zwp.*"  %><%@ page import="java.util.*"  %><html>  <head>  <script type="text/javascript">  function checkAll(ifAll) {//alert(ifAll.checked);var selectFlags = document.getElementsByName("selectFlag");for(var i=0;i<selectFlags.length;i++){//selectFlag[i].checked=document.getElementById("ifAll").checked;selectFlags[i].checked=ifAll.checked;}}  </script>  </head>  <body>  <form action="ShowUsers">  <table width="95%" border="1" cellspacing="0" cellpadding="0" align="center">  <input type="text" name="userid" id="userid" value=""/>  <input type="submit" value="查询"><input name="btnAdd" type="button" class="button1" id="btnAdd" value="添加" onClick="addUser()"><input name="btnModify" class="button1" type="button" id="btnModify" value="修改" onClick="modifyUser()"><input name="btnDelete" class="button1" type="button" id="btnDelete" value="删除" onClick="deleteUser()">  <tr>  <td width="55" class="rd6"><input type="checkbox" name="ifAll" id="ifAll" onClick="checkAll(this)"></td>  <td>姓名</td>  <td>密码</td>  <td>年龄</td>  <td>性别</td>  </tr>  <%  User user = new User();  List<User> userList=(List<User>)request.getAttribute("userList");  if(userList != null && userList.size() > 0){  for(Iterator iter=userList.iterator();iter.hasNext();){user=(User)iter.next();  }   %>  <tr>  <td width="55" class="rd6"><input type="checkbox" name="ifAll" id="ifAll" onClick="checkAll(this)"></td>  <td><%=user.getUserName()%></td>  <td><%=user.getPassWord()%></td>  <td><%=user.getAge()%></td>  <td><%=user.getSex()%></td> </tr>  <%  }  %>  </table>    </form>  </body></html>

第7步:链接数据库

package com.web.db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DB {private DB() {}/** * 取得Connection * @return */public static Connection getConnection() {Connection conn = null;try {Class.forName("oracle.jdbc.driver.OracleDriver");conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:drp","zwp_test","zwp_test");} catch (ClassNotFoundException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return conn;} public static void close(PreparedStatement pstmt) {if (pstmt != null) {try {pstmt.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static void close(Connection conn) {if (conn != null) {try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static void close(ResultSet rs) {if (rs != null) {try {rs.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}public static void main(String[] args) {DB.getConnection();}}

第8步:创建User对象类

package com.web.zwp;public class User {private String UserId;private String UserName;private String PassWord;private int    Age;private String Sex;public String getUserName() {return UserName;}public void setUserName(String userName) {UserName = userName;}public String getPassWord() {return PassWord;}public void setPassWord(String passWord) {PassWord = passWord;}public int getAge() {return Age;}public void setAge(int age) {Age = age;}public String getSex() {return Sex;}public void setSex(String sex) {Sex = sex;}public String getUserId() {return UserId;}public void setUserId(String userId) {UserId = userId;}}

第9步:新建一个用户管理类UserManager,类中实现查询方法

package com.web.zwp;import java.sql.*;import com.web.db.DB;import com.web.zwp.User;public class UserManager {private static UserManager instance = new UserManager();UserManager() {}public static UserManager getInstance() {return instance;}/* *  * 查询所有 */public User findAllUser() {String sql = "select * from users";Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;User user = null;try {conn = DB.getConnection();pstmt = conn.prepareStatement(sql);rs = pstmt.executeQuery();if (rs.next()) {user = new User();user.setUserId(rs.getString("userid"));user.setUserName(rs.getString("username"));user.setPassWord(rs.getString("password"));user.setAge(rs.getInt("age"));user.setSex(rs.getString("sex"));}}catch(SQLException e) {e.printStackTrace();}finally {DB.close(rs);DB.close(pstmt);DB.close(conn);} return user;}/* * 按照ID查询 */public User findAllUserById(String userId) {String sql = "select * from users where userid=?";Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;User user = null;try {conn = DB.getConnection();pstmt = conn.prepareStatement(sql);pstmt.setString(1, userId);rs = pstmt.executeQuery();if (rs.next()) {user = new User();user.setUserId(rs.getString("userid"));user.setUserName(rs.getString("username"));user.setPassWord(rs.getString("password"));user.setAge(rs.getInt("age"));user.setSex(rs.getString("sex"));}}catch(SQLException e) {e.printStackTrace();}finally {DB.close(rs);DB.close(pstmt);DB.close(conn);} return user;}}

第10步:通过HttpServet实现控制部分

package com.web.zwp;import java.io.IOException;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class ShowUsers extends HttpServlet {/** *  *///private static final long serialVersionUID = 3434710866509057630L;public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {String userid=request.getParameter("userid");if(userid==null || userid.trim().length()==0){User user=UserManager.getInstance().findAllUser();List<User> userList = new ArrayList<User>();userList.add(user);request.setAttribute("userList", userList);request.getRequestDispatcher("/ShowUsers.jsp").forward(request, response);}else{User user=UserManager.getInstance().findAllUserById(userid);List<User> userList = new ArrayList<User>();userList.add(user);//从数据库中获取数据传给request对象中的userList属性,并转发到前台jsprequest.setAttribute("userList", userList);request.getRequestDispatcher("/ShowUsers.jsp").forward(request, response);}}public void doGet (HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doPost(request, response);}}


最终显示界面样式:










0 0