之前一段时间一直忙于毕业设计,也没有空学习了,本篇继续学习。

本篇将开始学习java web下使用servlet下来操作数据库,并展示到界面上的使用方法。

新建工程ServletMvc001。

目录结构如下:

web.xml

1 <?xml version="1.0" encoding="UTF-8"?>

2

3 xmlns="http://java.sun.com/xml/ns/javaee"

4 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

5 id="WebApp_ID"version="3.0">

6 ServletMvc001

7

8 logon.jsp

9

10

11 logOnServlet

12 com.dx.javamvc.servlets.LogOnServlet

13

14

15 logOnServlet

16 /LogOnServlet

17

18

logon.jsp

1

2 pageEncoding="UTF-8"%>

3

4

5

6

7

Insert title here

8

9

10

11

12

13

14

showPerfileInfo.jsp

1

2

3

4

5 pageEncoding="UTF-8"%>

6

7

8

9

10

11

Insert title here

12

13

14 userItem= (List)request.getAttribute("UserItems"); %>15

18

19

20

21

23

24

View Code

jdbc.properties

1 DriverClass=com.mysql.jdbc.Driver2

3 JdbcUrl=jdbc:mysql://localhost:3306/servletmvc0014

5 UserName=root6

7 Password=123456

DbConfiguration.java

1 packagecom.dx.javamvc.configuration;2

3 import java.io.*;4 importjava.net.URISyntaxException;5 import java.util.*;6

7 public classDbConfiguration {8 private static final String FILENAME = "jdbc.properties";9 private static String userName = null;10 private static String password = null;11 private static String jdbcUrl = null;12 private static String driverClass = null;13

14 publicDbConfiguration() {15 Properties property = newProperties();16

17 try{18 String path = this.getClass().getClassLoader().getResource("").toURI().getPath();19 FileInputStream inStream = new FileInputStream(new File(path +FILENAME));20 property.load(inStream);21 setUserName(property.getProperty("UserName"));22 setPassword(property.getProperty("Password"));23 setJdbcUrl(property.getProperty("JdbcUrl"));24 setDriverClass(property.getProperty("DriverClass"));25 } catch(URISyntaxException e) {26 //TODO Auto-generated catch block

27 e.printStackTrace();28 } catch(FileNotFoundException e) {29 //TODO Auto-generated catch block

30 e.printStackTrace();31 } catch(IOException e) {32 //TODO Auto-generated catch block

33 e.printStackTrace();34 }35 }36

37 publicString getUserName() {38 returnuserName;39 }40

41 private voidsetUserName(String userName) {42 DbConfiguration.userName =userName;43 }44

45 publicString getPassword() {46 returnpassword;47 }48

49 private voidsetPassword(String password) {50 DbConfiguration.password =password;51 }52

53 publicString getJdbcUrl() {54 returnjdbcUrl;55 }56

57 private voidsetJdbcUrl(String jdbcUrl) {58 DbConfiguration.jdbcUrl =jdbcUrl;59 }60

61 publicString getDriverClass() {62 returndriverClass;63 }64

65 private voidsetDriverClass(String driverClass) {66 DbConfiguration.driverClass =driverClass;67 }68

69 }

SexType.java

1 packagecom.dx.javamvc.entity;2

3 public enumSexType {4 Mail(0), Femail(1);5

6 private intvalue;7

8 private SexType(intvalue) {9 setValue(value);10 }11

12 public intgetValue() {13 returnvalue;14 }15

16 public void setValue(intvalue) {17 this.value =value;18 }19

20 public static SexType valueOf(intvalue) {21 SexType sexType;22 switch(value) {23 case 1:24 sexType =SexType.Femail;25 break;26 default:27 sexType =SexType.Mail;28 break;29 }30

31 returnsexType;32 }33 }

User.java

1 packagecom.dx.javamvc.entity;2

3 importjava.util.Date;4

5 public classUser {6 private intid;7 privateString userName;8 privateString password;9 privateSexType sex;10 privateDate createDate;11

12 public intgetId() {13 returnid;14 }15

16 public void setId(intid) {17 this.id =id;18 }19

20 publicString getUserName() {21 returnuserName;22 }23

24 public voidsetUserName(String userName) {25 this.userName =userName;26 }27

28 publicString getPassword() {29 returnpassword;30 }31

32 public voidsetPassword(String password) {33 this.password =password;34 }35

36 publicSexType getSex() {37 returnsex;38 }39

40 public voidsetSex(SexType sex) {41 this.sex =sex;42 }43

44 publicDate getCreateDate() {45 returncreateDate;46 }47

48 public voidsetCreateDate(Date createDate) {49 this.createDate =createDate;50 }51 }

DbUtil.java

1 packagecom.dx.javamvc.utils;2

3 importjava.sql.Connection;4 importjava.sql.DriverManager;5 importjava.sql.PreparedStatement;6 importjava.sql.ResultSet;7 importjava.sql.SQLException;8

9 importcom.dx.javamvc.configuration.DbConfiguration;10 importcom.dx.javamvc.types.IExecuteQueryAction;11 importcom.dx.javamvc.types.IPreparedStatementAction;12

13 public classDbUtil {14 public static voidexecuteQuery(String sql, IPreparedStatementAction preparedStatementAction,15 IExecuteQueryAction executeQueryAction) {16 Connection connection = null;17 PreparedStatement preparedStatement = null;18 ResultSet resultSet = null;19

20 DbConfiguration configuration=newDbConfiguration();21 String driverClass =configuration.getDriverClass();22 String jdbcUrl =configuration.getJdbcUrl();23 String userName =configuration.getUserName();24 String password =configuration.getPassword();25

26 try{27 Class.forName(driverClass);28

29 connection =DriverManager.getConnection(jdbcUrl, userName, password);30 preparedStatement =connection.prepareStatement(sql);31

32 if (preparedStatementAction != null) {33 preparedStatementAction.action(preparedStatement);34 }35

36 resultSet =preparedStatement.executeQuery();37

38 if (executeQueryAction != null) {39 executeQueryAction.action(resultSet);40 }41 } catch(ClassNotFoundException e) {42 //TODO Auto-generated catch block

43 e.printStackTrace();44 } catch(SQLException e) {45 //TODO Auto-generated catch block

46 e.printStackTrace();47 } finally{48 if (resultSet != null) {49 try{50 resultSet.close();51 } catch(SQLException e) {52 //TODO Auto-generated catch block

53 e.printStackTrace();54 }55 }56 if (preparedStatement != null) {57 try{58 preparedStatement.close();59 } catch(SQLException e) {60 //TODO Auto-generated catch block

61 e.printStackTrace();62 }63 }64 if (connection != null) {65 try{66 connection.close();67 } catch(SQLException e) {68 //TODO Auto-generated catch block

69 e.printStackTrace();70 }71 }72 }73

74 }75

76 }

View Code

IExecuteQueryAction.java

1 packagecom.dx.javamvc.types;2

3 importjava.sql.ResultSet;4 importjava.sql.SQLException;5

6 public interfaceIExecuteQueryAction {7 void action(ResultSet result) throwsSQLException;8 }

View Code

IPreparedStatementAction.java

1 packagecom.dx.javamvc.types;2

3 importjava.sql.PreparedStatement;4 importjava.sql.SQLException;5

6 public interfaceIPreparedStatementAction {7 void action(PreparedStatement preparedStatement) throwsSQLException;8 }

View Code

UserDao.java

1 packagecom.dx.javamvc.domain;2

3 importjava.sql.PreparedStatement;4 importjava.sql.ResultSet;5 importjava.sql.SQLException;6 importjava.util.ArrayList;7 importjava.util.List;8

9 importcom.dx.javamvc.entity.SexType;10 importcom.dx.javamvc.entity.User;11 importcom.dx.javamvc.types.IPreparedStatementAction;12 importcom.dx.javamvc.types.IExecuteQueryAction;13 importcom.dx.javamvc.utils.DbUtil;14

15 public classUserDao {16 public List getUserByUserName(finalString userName) {17 final List userItems = new ArrayList();18

19 String sql = "Select * From User Where Name=?";20

21 IPreparedStatementAction preparedStatementAction = newIPreparedStatementAction() {22 @Override23 public void action(PreparedStatement preparedStatement) throwsSQLException {24 preparedStatement.setString(1, userName);25 }26 };27

28 IExecuteQueryAction executeQueryAction = newIExecuteQueryAction() {29 @Override30 public void action(ResultSet result) throwsSQLException {31 try{32 while(result.next()) {33 User user = newUser();34

35 user.setId(result.getInt("Id"));36 user.setUserName(result.getString("Name"));37 user.setPassword(result.getString("Password"));38 user.setSex(SexType.valueOf(result.getInt("Sex")));39 user.setCreateDate(result.getDate("CreateDate"));40

41 userItems.add(user);42 }43 } catch(SQLException e) {44 e.printStackTrace();45 }46 }47 };48

49 DbUtil.executeQuery(sql, preparedStatementAction, executeQueryAction);50

51 returnuserItems;52

53 }54 }

View Code

LogOnServlet.java

1 packagecom.dx.javamvc.servlets;2

3 importjava.io.IOException;4 importjava.util.List;5

6 importjavax.servlet.ServletException;7 importjavax.servlet.http.HttpServlet;8 importjavax.servlet.http.HttpServletRequest;9 importjavax.servlet.http.HttpServletResponse;10

11 importcom.dx.javamvc.domain.UserDao;12 importcom.dx.javamvc.entity.User;13

14 public class LogOnServlet extendsHttpServlet {15 private static final long serialVersionUID = -8807878351076369807L;16 private static final UserDao userDao = newUserDao();17

18 @Override19 protected void doGet(HttpServletRequest req, HttpServletResponse resp) throwsServletException, IOException {20 List userItems = userDao.getUserByUserName("yy3b2007com");21 req.setAttribute("UserItems", userItems);22 req.getRequestDispatcher("/showPerfileInfo.jsp").forward(req, resp);23 }24 }

View Code

java mvc tomcat_Java Servlet(七):JavaWeb MVC 操作(jdk7+tomcat7+eclipse)相关推荐

  1. Java Servlet(一):创建工程(jdk7+tomcat7+eclipse)

    本篇文件主要记录下怎么在jdk7+tomcat7下,使用eclipse创建并运行一个servlet工程. 安装具体步骤从网上搜索就可以找到,这里不再赘述. 在eclipse中切换到j2ee下, 从导航 ...

  2. Java笔记(第七篇 JDBC操作数据库)

    JDBC是连接数据库和java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作.学习java语言,必须学习JDBC技术,因为JDBC技术实在java语言中被广泛使用的一种操作数据库 ...

  3. Java Servlet(六):HttpServlet实现原理(jdk7+tomcat7+eclipse)

    本篇记录了HttpServlet的实现过程,主要讲述了如何依赖Servlet,GenericServlet实现的原理. HttpServlet实现过程: 1.是一个Servlet,继承自Generic ...

  4. cpj-swagger分别整合struts2、spring mvc、servlet

    cpj-swagger 原文地址:https://github.com/3cpj/swagger 1. Swagger是什么? 官方说法:Swagger是一个规范和完整的框架,用于生成.描述.调用和可 ...

  5. java servlet jsp javabean关系图,一个关于javaBean+servlet+jsp的MVC架构有关问题

    当前位置:我的异常网» Java Web开发 » 一个关于javaBean+servlet+jsp的MVC架构有关问题 一个关于javaBean+servlet+jsp的MVC架构有关问题 www.m ...

  6. java架构-Spring MVC 与 Servlet

    相信大家都能够在上网上看到Spring MVC的核心类其实就是DispatherServlet,也就是Spring MVC处理请求的核心分发器.其实核心分发器几乎是所有MVC框架设计中的核心概念,像在 ...

  7. JSP、Servlet和Spring MVC

    今年刚接触JavaWeb的时候碰巧认识了一帮老师做后端的哥们,我俩平时用的最多的也都是Java. 我:"老哥,我想给我那个项目做一个服务器应用程序,怎么搞啊" 老哥:"S ...

  8. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发 用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这 ...

  9. Javaweb MVC设计模式、Modle发展史、项目分层和三层架构

    文章目录 MVC设计模式 MVC的目的 MVC举例 jsp+servlet+javabean模式 MVC的优点 MVC的缺点 Modle 发展史 项目分层 三层架构 MVC设计模式 MVC模式(Mod ...

最新文章

  1. uboot引导kernel - 3 -uboot给内核传参详解
  2. docker 镜像名 tag 为none 的解决方案
  3. Nemo for transfer learning
  4. 网页缩放与窗口缩放_功能缩放—不同的Scikit-Learn缩放器的效果:深入研究
  5. springboot细节挖掘(知识积累)
  6. c lambda表达式 select 改变字段名称_大神是如何学习 Go 语言之浅谈 select 的实现原理...
  7. 鸿蒙车载智慧屏评测,华为鸿蒙系统初体验,华为智慧屏评测,功能超乎想象
  8. MySQL 字符集问题及安全的更新操作
  9. AI 秒杀人类!OpenAI 击败 DOTA2 世界冠军 OG
  10. centos cmake安装mysql_CentOS下使用cmake编译安装mysql
  11. 2014520420145212信息安全系统实验三报告
  12. windows10安装CUDA
  13. linux全局启动tomcat,linux下启动tomcat服务
  14. MySQL命令执行sql文件的两种方法
  15. 为什么大家都说SELECT * 效率低
  16. 老罗直播带货首秀成了么?
  17. 7段数码管和打印机接口
  18. CAD怎么设置十字光标大小?CAD十字光标设置
  19. 一行python代码画粑粑_如何阅读《JavaScript高级程序设计》(一)
  20. python脚本无缝拼接图片

热门文章

  1. 应届生怒怼管理层后续:已离职、被标记永不录用?腾讯张军回应...
  2. 百度入股汽车照明模组晶合光电
  3. 腾讯接入华为鸿蒙!QQ音乐与Harmony OS达成合作 推出听歌识曲万能卡片
  4. 本田2022年新车将搭载谷歌Automotive OS
  5. 受半导体短缺及疫情影响,丰田已下调9月10月及当前财年产量预期
  6. 京东Q2营收同比增加26.2%,股价上涨超3%
  7. 华为P50 4G版入网公示:居中单孔直屏 搭载鸿蒙系统
  8. 支付牌照再获成功续展!支付宝:感谢央行的信任和认可
  9. 诺基亚9.3 PureView或再度跳票:搭载高通骁龙875明年发布
  10. 中兴通讯助力MTN建设赞比亚南部首个超100G骨干光网络