DAO模式就实现了把数据库表的操作转化对Java类的操作,从而提高程序的可读性,并实现更改数据库的方便性。其架构图如下图。

一共分为五个组件(component)

jsp提交页面(一下四其中的一个例子,HTML的例子)

 <%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head> <title>添加信息提交页面</title>
<style type="text/css">
body{
background-image:url(src.img/6.jpg); /*图片地址*/
background-origin:content; /*从content区域开始显示背景*/
background-position:50% 5%; /* 图片上下左右居中 */
background-size:cover; /* 保持图像本身的宽高比例,将图片缩放到宽度或高度正好适应定义背景的区域 */
background-repeat:no-repeat; /* 图像不重复显示 */
}
td{font-size: 12px;}
h2{margin: 0px}
table {
background-color: rgba(255, 255, 255, 0.9);
margin-top:200px;
margin-left: center;
height: 50px;
width: 300px;
border-radius: 6px;
}
td.{
text-align: center;
align: center;
font-family: 微软雅黑;
font-size: 20px;
}
input.submit {
align:center;
background:#0080ff;
width: 100px;
font-size: 25px;
font-family:微软雅黑;
color: #ffffff;
border:1px;
border-radius: 6px;
}
</style>
</head>
<body>
<form action="jsreg" method="post">
<table border="0" width="238" height="252">
<tr><td>教师</td><td><input type="text" name="username"></td></tr>
<tr><td>密码</td><td><input type="text" name="ps"></td></tr>
<tr align="center">
<td colspan="2">
<input type="submit" value="登录">
</td>
<td>
<a href="updateteacher.jsp" >忘记密码?</a>
</td>
</tr>
</table>
</form>
</body>
</html>

Struts.xml的配置(Congfiguration)文件

    </action>
<action name="jsreg" class="Action.ther">
<result name="success">/index_student_left.jsp</result>
</action>

JavaBean如下

public class Teacher {
private String username;
private String ps;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPs() {
return ps;
}
public void setPs(String ps) {
this.ps = ps;
}
}

接口类型如下

import domain.Teacher;

public interface Iteacher {
public abstract Teacher find (Teacher te) throws Exception;
}

DAO如下

package dao;

import java.sql.*;
import db.DbConnect;
import domain.Teacher; public class TeacherDAO implements Iteacher{
protected static final String FIELDS_INSERT="username,ps";
protected static String SELECT_SQL="select "+FIELDS_INSERT+" from Teacher where username=?";
protected static String UPDATE_SQL="update Teacher set "+"username=?,ps=? where username=?";
public Teacher find(Teacher te) throws Exception {
Connection con=null;
PreparedStatement prepStmt=null;
ResultSet rs=null;
Teacher te2=null;
try{
con=DbConnect.getDBconnection();
prepStmt=con.prepareStatement(SELECT_SQL);
prepStmt.setString(1, te.getUsername());
rs=prepStmt.executeQuery();
if(rs.next()){
te2=new Teacher();
te2.setUsername(rs.getString(1));
te2.setPs(rs.getString(2));
}
}catch(Exception e){
}finally{
DbConnect.closeDB(con, prepStmt, rs);
}
return te2;
}

连接数据库的Dbconnect

package db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; public class DbConnect {
private static String driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static String userName="sa";
private static String userpwd="13481195624q";
private static String dbName="Student";
public static Connection getDBconnection() {
String dbURL="jdbc:sqlserver://localhost:1433;DatabaseName=Student";
try {
Class.forName(driverName);
Connection con=DriverManager.getConnection(dbURL,userName,userpwd);
return con;
}catch(Exception e) {
e.printStackTrace();
}
return null;
}
public static void closeDB(Connection con, PreparedStatement pstm, ResultSet rs) {
try {
if(rs!=null)rs.close();
if(pstm!=null)pstm.close();
if(con!=null)con.close();
}catch(SQLException e){
e.printStackTrace();
}
}
}

执行Action页面

package Action;

import dao.TeacherDAO;
import domain.Teacher;
import java.util.Map;
import java.util.regex.*;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext; public class ther extends ActionSupport{
private HttpServletRequest request;
public String execute() throws Exception {
request=ServletActionContext.getRequest();
Teacher te=new Teacher();
te.setUsername(request.getParameter("username"));
te.setPs(request.getParameter("ps"));
TeacherDAO te2=new TeacherDAO();
try {
te=te2.find(te);
request.setAttribute("teacher", te);
} catch (Exception e) {
e.printStackTrace();
}
return "success";
}
}

显示的JSP页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.List"%>
<%@page import="domain.Teacher"%>
<html>
<head><title>所有学生信息</title>
<style type="text/css">
body{
background-image:url(src.img/7.jpg); /*图片地址*/
background-origin:content; /*从content区域开始显示背景*/
background-position:50% 5%; /* 图片上下左右居中 */
background-size:cover; /* 保持图像本身的宽高比例,将图片缩放到宽度或高度正好适应定义背景的区域 */
background-repeat:no-repeat; /* 图像不重复显示 */
}
td{font-size: 12px;}
h2{margin: 0px}
table {
background-color: rgba(255, 255, 255, 0.9);
margin-top:200px;
margin-left: center;
height: 50px;
width: 300px;
border-radius: 6px;
}
td.{
text-align: center;
align: center;
font-family: 微软雅黑;
font-size: 20px;
}
</style>
</head>
<body>
<table align="center" width="450" border="1" height="180"
bordercolor="white" bgcolor="black" cellpadding="1" cellspacing="1">
<tr bgcolor="white">
<td align="center" colspan="5">
<h2>所有教师信息</h2>
</td>
</tr>
<tr align="center" bgcolor="#e1ffc1">
<td><b>姓名</b></td>
<td><b>密码</b></td>
</tr>
<%Teacher teacher=(Teacher)request.getAttribute("teacher");%>
<tr align="center" bgcolor="white">
<td><%=teacher.getUsername()%></td>
<td><%=teacher.getPs()%></td>
</tr>
</table>
</body>
</html>

教师信息如下

Jsp+Struts2+JavaBean+DAO开发模式(1)的更多相关文章

  1. Jsp+Servlet+JavaBean经典MVC模式理解

    MVC模式目的(实现Web系统的职能分工). 在Java EE中,Jsp+Servlet+JavaBean算是里面经典的模式,是初学者必备的知识技能.M, Model(模型)实现系统的业务逻辑 1.通 ...

  2. struts2的DevMode(开发模式)模式

    本文转自:http://blog.csdn.net/q1054261752/article/details/48687119 在实际应用开发或者是产品部署的时候,对应着两种模式: ① 开发模式(dev ...

  3. jsp+servlet+javaBean+Dao

    一.Servlet程序各模块介绍1.JSP 用于显示.收集数据的部分.2.Servlet 用于验证数据.实例化JavaBean.调用DAO连接数据库.控制页面跳转3.DAO 用于连接数据库及进行数据库 ...

  4. 基于jsp+servlet+javabean的MVC模式简单应用

    原先写在CSDN的一篇,我直接扒过来吧.之前打算在CSDN的,结果写了几回,发现他那个发布系统简直烂到家,经常丢失图片各种.所以很长一段时间我也没写什么. 一.MVC模式 1.M :  javabea ...

  5. DAO 开发模式的几个类

    1, vo -->  Emp.java      包括getter setter方法 2,   dbc  --> DatabaseConnection.java   数据库打开关闭 3,  ...

  6. 13jsp、javaWeb开发模式

    13jsp.javaWeb开发模式-2018/07/25 1.jsp jsp实际上就是servlet.jsp=html+java,为用户提供动态内容 不适合编写Java逻辑 2.JSP原理 翻译(生成 ...

  7. jsp的开发模式

    JSP 存在两种 开发模式1.Model1 : JSP + JavaBean * 不适合开发业务逻辑特别复杂web应用 ----- 业务逻辑复杂,控制代码多,而在jsp中编写控制代码,十分不便 *JS ...

  8. jsp学习笔记:mvc开发模式

    jsp学习笔记:mvc开发模式2017-10-12 22:17:33 model(javabe)与view层交互 view(视图层,html.jsp) controller(控制层,处理用户提交的信息 ...

  9. Java基础85 MVC开发模式

    1.MVC开发模式 本文用 Servlet+JSP+javaBean 的开发模式来讲解 Model:用javabean实现,用于封装业务数据View:用jsp实现,用于显示数据Controller:用 ...

随机推荐

  1. Java 学习 UUID 与 时间格式化、时间操作

    UUID : UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分.其目的,是让分 ...

  2. Linux环境变量设置/etc/profile、/etc/bashrc、~/.profile、~/.bashrc区别

    登入系统读取步骤: 当登入系统时候获得一个shell进程时,其读取环境设定档有三步 : 1.首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如 /etc/p ...

  3. html2canvas html截图插件

    以下我总结了一些注意事项,在代码中注释了,仅供参考. html2canvas.js点击付:完整使用的demo ,如下: <!DOCTYPE html><html lang=" ...

  4. UI5-学习篇-17-云端WEB IDE开发

    1.前提条件 SAP云平台账号已申请 云连接器设置完成:UI5-学习篇-15-云连接SAP Cloud Connector 云平台Destination设置完成:UI5-学习篇-16-云端SCP-De ...

  5. Springboot 热部署问题。亲测可用。

    本人开发使用的是Mac系统,windows应该类似.主要是 spring-boot-devtools的使用 参考:mac下的idea设置,是不是有疑问,既然别人写好了,为啥你还要再来一次,因为我使用了 ...

  6. Echarts绘制横向柱状图

    效果图: 关键配置: 将xAxis的type设置为value, 将yAxis的type设置为category即可实现横向显示

  7. ADC采样间隔问题+TRGO作为ADC的触发源头

    为了控制采样时间,可以使用一个定时器的TRGO(定时器里每次发生更新事件时会有这个信号产生)作为定时器的外部触发. 从定时器框图可以看出,TRGO为TIMx的一个输出.不过这个输出是内部使用的. vo ...

  8. 大数据入门到精通11-spark dataframe 基础操作

    // dataframe is the topic 一.获得基础数据.先通过rdd的方式获得数据 val ny= sc.textFile("data/new_york/")val ...

  9. Java学习笔记(二十三):final关键字

    final关键字有三种使用场景: final修饰类 final修饰方法 final修饰变量 final修饰的类,不能再有子类继承. 只要满足以下条件就可以把一个类设计为final类: 不是专门为继承而 ...

  10. 中间件RabbitMQ之运维篇

    一.RabbtMQ简介        RabbitMQ的官方站: http:/://www.rabbitmq.com/        rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业 ...