一,程序设计思想
按照 JSP+Servlet+JavaBean 的开发模式,将编码任务划分成以下部分:
JSP:页面上显示输入框和提交按钮,并且在界面上插入 JavaScript 脚本,用来检验输入信息是否满足要求,若满足要求则点击提交按钮可以提交,否则仍会停留在当前界面.
Servlet:控制流程,说白了就是把 JSP 上输入的合法信息通过 Servlet 文件中的执行语句将数据写入数据表中.
JavaBean:定义 Course 类,规定有授课教师 teacher,课程名称 course,授课地点 place.Course 类的对象是整个流程中调控的对象.
Dao:数据库访问,实现了把 Course 对象写入数据表的方法,Servlet 的执行流程会调用这些方法.
二,源代码
三,验证截图
//Course.Java
public class Course {
private String teacher;
private String course;
private String place;
public Course() {}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public String getCourse() {
return course;
}
public void setCourse(String course) {
this.course = course;
}
public String getPlace() {
return place;
}
public void setPlace(String place) {
this.place = place;
}
}
//Dao.Java
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Dao {
public static Connection getConnection() {
Connection con = null;
Statement stmt = null;
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=DrinkeryManage";
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
con = DriverManager.getConnection(url, "sa", "leomessi10");
} catch(ClassNotFoundException | SQLException e) {
System.out.println(e.getMessage());
}
close(stmt);
return con;
}
public static void close(Connection con) {
try {
if (con != null) con.close();
} catch(SQLException e) {
System.out.println(e.getMessage());
}
}
public static void close(PreparedStatement pre) {
try {
if (pre != null) pre.close();
} catch(SQLException e) {
System.out.println(e.getMessage());
}
}
public static void close(Statement stmt) {
try {
if (stmt != null) stmt.close();
} catch(SQLException e) {
System.out.println(e.getMessage());
}
}
public static void close(ResultSet rs) {
try {
if (rs != null) rs.close();
} catch(SQLException e) {
System.out.println(e.getMessage());
}
}
}
//UserDao.Java
import Bean.Course;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class UseDao {
public void add(Course course) {
Connection con = Dao.getConnection();
PreparedStatement pre = null;
try {
pre = con.prepareStatement("insert into Teacher(course,teacher,place) values(?,?,?)");
pre.setString(1, course.getCourse());
pre.setString(2, course.getTeacher());
pre.setString(3, course.getPlace());
pre.executeUpdate();
} catch(SQLException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
System.out.println(e.getMessage());
}
Dao.close(pre);
Dao.close(con);
}
}
//Servlet.Java
import Bean.Course;
import Dao. * ;
import java.io.IOException;
import javax.servlet.http.HttpServlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;@SuppressWarnings("serial") public class Servlet extends HttpServlet {
public void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
req.setCharacterEncoding("utf-8");
String method = req.getParameter("method");
if (method.equals("add")) add(req, resp);
}
public void add(HttpServletRequest req, HttpServletResponse resp) throws ServletException,
IOException {
req.setCharacterEncoding("utf-8");
String course = req.getParameter("course");
String teacher = req.getParameter("teacher");
String place = req.getParameter("place");
Course cou = new Course();
cou.setCourse(course);
cou.setTeacher(teacher);
cou.setPlace(place);
UseDao usedao = new UseDao();
usedao.add(cou);
}
}
//login.jsp
< !DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" > <html > <head > <%@page language = "java"contentType = "text/html; charset=UTF-8"pageEncoding = "UTF-8" % ><meta http - equiv = "Content-Type"content = "text/html; charset=UTF-8" > <script type = "text/javascript" >
function check(form) {
course = form.course.value;
teacher = form.teacher.value;
place = form.place.value;
if (course == "") {
alert("课程名称不能为空");
return false;
}
if (teacher != "王建民" && teacher != "刘立嘉" && teacher != "刘丹" && teacher != "王辉" && teacher != "杨子光") {
alert("老师必须为王建民,刘立嘉,刘丹,王辉,杨子辉中的一位");
return false;
}
if (place.indexOf("一教") != 0 && place.indexOf("二教") != 0 && place.indexOf("三教") != 0 && place.indexOf("基教") != 0) {
alert("上课地点不对");
return false;
}
str = "我他妈呵呵"console.err(str);
return true;
} < /script>
<title>增加信息</title > </head>
<body>
<form name="form1" action="${pageContext.request.contextPath}/Servlet / Servlet ? method = add " method="post " target="_self " onsubmit="
return check(form1)">
<table>
<tr>
<td colspan="2 ">课程名称:<input type="text " name="course "></td>
</tr>
<tr>
<td colspan="2 ">教师姓名:<input type="text " name="teacher "></td>
</tr>
<tr>
<td colspan="2 ">上课地点:<input type="text " name="place "></td>
</tr>
<tr>
<td><input type="submit " value="保存"></td>
</tr>
</table>
</form>
</body>
</html>
//在web.xml中添加以下内容
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>Servlet.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/Servlet/Servlet</url-pattern>
</servlet-mapping>"
--------------------------------------------------------------------------------------------------------------------------------------------END
来源: http://www.bubuko.com/infodetail-2464402.html