java web开发基础实例(javabean+jsp+servlet+jdbc)
JavaBean:用于传递数据,拥有与数据相关的逻辑处理
JSP:从Model接收数据并生成HTML
Servlet:接收HTTP请求并控制Model和View
jdbc:用于配置环境
一、【建立数据库】
在mysql中新建一个名为kecheng的数据库,并在其中新建一个kecheng数据表,包含三个字段,classname,classroom,teacher

二、【新建web项目】
1. eclipse新建一个名为kechengguanlli的Dynamic Web Project
修改class的默认输出目录为:WebContent/WEB-INF/classes,勾选自动生成web.xml
2. 将连接mysql的驱动jar包(mysql-connector-java-5.1.7-bin.jar)copy到WEB-INF下的lib目录下
3. 新建7个包
helper、链接数据库的操作,避免重复写代码,所以用一个包封装起来
SQL、数据库增删改查的统一代码,在实例中具体调用
javabean、基类,包括此项目中的成员变量
servlet、增加数据库中课程
servletdelete、删除数据库中课程
servletseclec、查询数据库中课程
servletupdate、修改数据库中课程

4. 新建类(最愉快的搬砖环节 -.-),java类放在对应包中,jsp页面放在WebContent目录下,替换web.xml中内容;
helper包下新建 DbHelper.java
package helper; import java.sql.Connection;
import java.sql.DriverManager; public class DbHelper {
private static String url = "jdbc:mysql://localhost:3306/kecheng"; //数据库地址
private static String userName = "root"; //数据库用户名
private static String passWord = "199812"; //数据库密码
private static Connection conn = null; private DbHelper(){ } public static Connection getConnection(){
if(null == conn){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection(url, userName, passWord);
} catch (Exception e) {
e.printStackTrace();
}
}
return conn;
} public static void main(String[] args) { //测试数据库是否连通
System.out.println(getConnection());
}
}
javabean包下新建kecheng.java
package javabean;
public class kecheng {
private String classname;
private String teacher;
private String classroom;
private String fanhui;
public kecheng()
{}
public String getClassname() {
return classname;
}
public void setClassname(String classname) {
this.classname = classname;
}
public String getTeacher() {
return teacher;
}
public void setTeacher(String teacher) {
this.teacher = teacher;
}
public String getClassroom() {
return classroom;
}
public void setClassroom(String classroom) {
this.classroom = classroom;
}
public String getFanhui() {
return fanhui;
}
public void setFanhui(String fanhui) {
this.fanhui = fanhui;
}
}
servlet包下新建add.java
package servlet; import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javabean.kecheng;
import javabean.kecheng;
import SQL.sqlclass; /**
* Servlet implementation class add
*/
@WebServlet("/add")
public class add extends HttpServlet {
private static final long serialVersionUID = 1L; /**
* @see HttpServlet#HttpServlet()
*/
public add() {
super();
// TODO Auto-generated constructor stub
} /**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
int i=0,j=1,k=0;
response.getWriter().append("Served at: ").append(request.getContextPath());
String classname=request.getParameter("classname");//防止中文乱码
String teacher=request.getParameter("teacher");
String classroom=request.getParameter("classroom");
if(teacher.equals("王建民")||teacher.equals("刘立嘉")||teacher.equals("刘丹")||teacher.equals("王辉")||teacher.equals("杨子光"))
i=1;
String name;
name=classroom.substring(0,2);
if(name.equals("一教")||name.equals("二教")||name.equals("三教")||name.equals("基教"))
j=1;
if(true)//课程名
k=1; if(i==1&&j==1&&k==1) { kecheng student=new kecheng();
student.setClassname(classname);
student.setTeacher(teacher);
student.setClassroom(classroom);
sqlclass sql=new sqlclass(); sql.addUser(student);
response.sendRedirect("first.jsp");//页面跳转
}
else response.sendRedirect("add.jsp"); } /**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
} }
【 jsp页面放在WebContent目录下】
first.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>课程基本信息管理主界面</center>
<center>——————————————————————————————————</center>
<a href="add.jsp"><center><b>课程信息录入</b></center></a><br>
<a href="update.jsp"><center><b>课程信息修改</b></center></a><br>
<a href="delete.jsp"><center><b>课程信息删除</b></center></a><br>
<a href="select.jsp"><center><b>课程信息查询</b></center></a><br>
</body>
</html>
add.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="servlet.add" method="get">
<center>课程信息录入界面</center>
<center>——————————————————————————————————————</center>
<center>课程名称:<input type="text" name=classname><br></center>
<center>任课教师:<input type="text" name=teacher><br></center>
<center>上课地点:<input type="text" name=classroom><br></center>
<center><input type="submit" value="保存"></center>
</body>
</html>
delete.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>课程信息删除</center>
<center>输入以下了表中的任意一个即可</center>
<center>——————————————————————————————————</center>
<form action="servletdelete.delete" method="get">
<center>课程名称:<input type="text" name=classname><br></center>
<center>任课教师:<input type="text" name=teacher><br></center>
<center>上课地点:<input type="text" name=classroom><br></center>
<center><input type="submit" value="确定删除"></center>
</body>
</html>
select.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="java.util.*"%>
<%@page import="javabean.kecheng"%>
<%@page import="SQL.sqlclass"%>
<%@page import="java.util.List"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center><%="课程"+" "+"教师"+" "+"教室" %> </center>
<%
sqlclass a=new sqlclass();
a.getAllUser();
kecheng c=new kecheng();
List<kecheng> b= new ArrayList<kecheng>();
b=a.getAllUser();
int i=0;
int j=0;
j=a.getnum();
for(;i<j;i++)
{c=b.get(i);
%>
<center><%=c.getClassname()+" "+c.getTeacher()+" "+c.getClassroom() %> </center> <% }%> </body>
</html>
update.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<center>课程信息修改</center>
<center>——————————————————————————————————</center>
<form action="servletupdate.update" method="get">
<center>课程名称:<input type="text" name=classname><br></center>
<center>任课教师:<input type="text" name=teacher><br></center>
<center>上课地点:<input type="text" name=classroom><br></center>
<center><input type="submit" value="保存"></center>
</body>
</html>
【替换web.xml中内容】
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>kechengguanli</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>servlet</servlet-name>
<servlet-class>servlet.add</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet</servlet-name>
<url-pattern>/servlet.add</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>servletdelete</servlet-name>
<servlet-class>servletdelete.delete</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletdelete</servlet-name>
<url-pattern>/servletdelete.delete</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>servletupdate</servlet-name>
<servlet-class>servletupdate.update</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servletupdate</servlet-name>
<url-pattern>/servletupdate.update</url-pattern>
</servlet-mapping>
</web-app>
java web开发基础实例(javabean+jsp+servlet+jdbc)的更多相关文章
- Java Web开发基础(1)-Servlet
概述 Servlet技术是对webserver的扩展,要理解这个,可能先了解一下什么是Webserver以及它的功能,特别是它的不足是非常有帮助的,可參考:点击打开链接.另外.Servlet也是一个用 ...
- MVC-1(javabean+jsp+servlet+jdbc)
这是一篇最初版本的mvc设计模式的demo.路要一步一步走,弄明白这其中的逻辑,对后面掌握ssh,ssm等框架大有裨益. 计算机系的同学们也要为毕设做准备了,希望可以帮你们迈出自己做毕设的第一步(微笑 ...
- Java Web开发之详解JSP
JSP作为Java Web开发中比较重要的技术,一般当作视图(View)的技术所使用,即用来展现页面.Servlet由于其本身不适合作为表现层技术,所以一般被当作控制器(Controller)所使用, ...
- java web 开发入门实例
学习是个技巧活,关键是要找到重点的地方,新手在这方面的坑尤其多.看别人的教程一步一步的跟着做,隔几步就遇到一个新知识点,忍不住就百度往深处了解,一晃半天就过去了. 有的知识点要深入学习的,有的是了解下 ...
- Java Web开发技术教程入门-JSP基本语法和九大内置对象
这两天气温逐渐升高,好想把自己泡在冰块里······ 恩嗯摁蒽恩嗯摁蒽恩嗯摁蒽恩嗯摁蒽.......今天阅读到了这本书的第四章-JSP基本语法.经过第一天的阅读,我们明白JSP技术是Java Web开 ...
- Java Web开发基础(2)-JSP
上一篇博我粗略的介绍了一下Servlet.粗略是由于博主也刚刚学习这部分的内容,还不是非常懂所以无法讲的非常精细.可是本着二八原则,我还是先继续学习.所以,这篇博客接着JSP的内容.由于.这两个内容关 ...
- Java Web开发基础(3)-JSTL
在DRP项目中接触到了JSTL标签库,对我这样的比較懒的人来说,第一感觉就是"惊艳". JSTL标签库的使用.能够消除大量复杂.繁复的工作.工作量降低的不是一点半点.是降低了一大半 ...
- Java Web开发基础零星知识
1. Web的三个核心标准 万维网的核心标准有三个,分别是URL.HTTP和HTML. URL(统一资源定位符,Universal Resource Locator),为描述Internet上的网页以 ...
- java Web开发基础(一)工程项目文档结构
2013年毕业后,在深圳工作开始是用.NET ASP.NET MVC做的项目,后来公司用java来做.于是就从.NET转java了.从.NET转java不是那么的难.今天刚好是清明节放假三天,整理了j ...
随机推荐
- 网页转PDF作为邮件附件
Nuget 引入 OpenHtmlToPdf using (WebClient wc = new WebClient()) { wc.Encoding = Encoding.UTF8; wc.UseD ...
- CentOS查找文件命令
[root@VM_147_255_centos ~]# find / -name aa.jpg 在根目录输入 如上命令,在全部目录中查找名字为aa.jpg的文件( *.jpg查找以.jpg结尾的所有文 ...
- HDU 2639 Bone Collector II (01背包,第k解)
题意: 数据是常规的01背包,但是求的不是最大容量限制下的最佳解,而是第k佳解. 思路: 有两种解法: 1)网上普遍用的O(V*K*N). 2)先用常规01背包的方法求出背包容量限制下能装的最大价值m ...
- 11gR2 新特性: Rebootless Restart
众所周知,当集群出现问题时,例如某个节点丢失网络心跳,或者不能够访问表决盘,或者节点出现了严重的性能问题等,CRS会选择将某个节点的OS 重启,以便保证集群的一致性.当然,大部分的重启都是由CRS的核 ...
- keycode对应表
keycode对应表 keycode 8 = BackSpace 回格keycode 9 = Tab keycode 12 = Clearkeycode 13 = Enter 回车 ...
- SpringMVC-概述和入门程序
三层架构和MVC B/S三层架构 表现层:web层,一般使用MVC模型 业务层:service层 持久层:dao层 MVC模型 Model:数据模型,JavaBean的类,用来进行数据封装 View: ...
- CPP-STL:vector的内存释放
1. vector容器的内存自增长 与其他容器不同,其内存空间只会增长,不会减小.先来看看"C++ Primer"中怎么说:为了支持快速的随机访问,vector容器的元素以连续方式 ...
- 完整的.h宏定义
##封装中的要点 __declspec(dllexport) 表明函数为导出函数 * `extern "C"` 导出的函数名与声明一致,否则导出函数名无法正常使用 当然,也可以通过 ...
- Python -- 函数之推导式
5.12 推导式 l = [] for i in range(1,11): l.append(i) print(l) # 用列表推导式 (一行搞定) l = [i for i in range(1,1 ...
- String中关于BeanFactory
org.springframework.beans及org.springframework.context包是Spring IoC容器的基础.BeanFactory提供的高级配置机制,使得管理任何性质 ...