java mvc tomcat_Java Servlet(七):JavaWeb MVC 操作(jdk7+tomcat7+eclipse)
之前一段时间一直忙于毕业设计,也没有空学习了,本篇继续学习。
本篇将开始学习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)相关推荐
- Java Servlet(一):创建工程(jdk7+tomcat7+eclipse)
本篇文件主要记录下怎么在jdk7+tomcat7下,使用eclipse创建并运行一个servlet工程. 安装具体步骤从网上搜索就可以找到,这里不再赘述. 在eclipse中切换到j2ee下, 从导航 ...
- Java笔记(第七篇 JDBC操作数据库)
JDBC是连接数据库和java程序的桥梁,通过JDBC API可以方便地实现对各种主流数据库的操作.学习java语言,必须学习JDBC技术,因为JDBC技术实在java语言中被广泛使用的一种操作数据库 ...
- Java Servlet(六):HttpServlet实现原理(jdk7+tomcat7+eclipse)
本篇记录了HttpServlet的实现过程,主要讲述了如何依赖Servlet,GenericServlet实现的原理. HttpServlet实现过程: 1.是一个Servlet,继承自Generic ...
- cpj-swagger分别整合struts2、spring mvc、servlet
cpj-swagger 原文地址:https://github.com/3cpj/swagger 1. Swagger是什么? 官方说法:Swagger是一个规范和完整的框架,用于生成.描述.调用和可 ...
- java servlet jsp javabean关系图,一个关于javaBean+servlet+jsp的MVC架构有关问题
当前位置:我的异常网» Java Web开发 » 一个关于javaBean+servlet+jsp的MVC架构有关问题 一个关于javaBean+servlet+jsp的MVC架构有关问题 www.m ...
- java架构-Spring MVC 与 Servlet
相信大家都能够在上网上看到Spring MVC的核心类其实就是DispatherServlet,也就是Spring MVC处理请求的核心分发器.其实核心分发器几乎是所有MVC框架设计中的核心概念,像在 ...
- JSP、Servlet和Spring MVC
今年刚接触JavaWeb的时候碰巧认识了一帮老师做后端的哥们,我俩平时用的最多的也都是Java. 我:"老哥,我想给我那个项目做一个服务器应用程序,怎么搞啊" 老哥:"S ...
- JSP+JavaBean+Servlet技术(MVC模型)
一,Servlet开发 用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这 ...
- Javaweb MVC设计模式、Modle发展史、项目分层和三层架构
文章目录 MVC设计模式 MVC的目的 MVC举例 jsp+servlet+javabean模式 MVC的优点 MVC的缺点 Modle 发展史 项目分层 三层架构 MVC设计模式 MVC模式(Mod ...
最新文章
- uboot引导kernel - 3 -uboot给内核传参详解
- docker 镜像名 tag 为none 的解决方案
- Nemo for transfer learning
- 网页缩放与窗口缩放_功能缩放—不同的Scikit-Learn缩放器的效果:深入研究
- springboot细节挖掘(知识积累)
- c lambda表达式 select 改变字段名称_大神是如何学习 Go 语言之浅谈 select 的实现原理...
- 鸿蒙车载智慧屏评测,华为鸿蒙系统初体验,华为智慧屏评测,功能超乎想象
- MySQL 字符集问题及安全的更新操作
- AI 秒杀人类!OpenAI 击败 DOTA2 世界冠军 OG
- centos cmake安装mysql_CentOS下使用cmake编译安装mysql
- 2014520420145212信息安全系统实验三报告
- windows10安装CUDA
- linux全局启动tomcat,linux下启动tomcat服务
- MySQL命令执行sql文件的两种方法
- 为什么大家都说SELECT * 效率低
- 老罗直播带货首秀成了么?
- 7段数码管和打印机接口
- CAD怎么设置十字光标大小?CAD十字光标设置
- 一行python代码画粑粑_如何阅读《JavaScript高级程序设计》(一)
- python脚本无缝拼接图片
热门文章
- 应届生怒怼管理层后续:已离职、被标记永不录用?腾讯张军回应...
- 百度入股汽车照明模组晶合光电
- 腾讯接入华为鸿蒙!QQ音乐与Harmony OS达成合作 推出听歌识曲万能卡片
- 本田2022年新车将搭载谷歌Automotive OS
- 受半导体短缺及疫情影响,丰田已下调9月10月及当前财年产量预期
- 京东Q2营收同比增加26.2%,股价上涨超3%
- 华为P50 4G版入网公示:居中单孔直屏 搭载鸿蒙系统
- 支付牌照再获成功续展!支付宝:感谢央行的信任和认可
- 诺基亚9.3 PureView或再度跳票:搭载高通骁龙875明年发布
- 中兴通讯助力MTN建设赞比亚南部首个超100G骨干光网络