Java Servlet(七):JavaWeb MVC 操作(jdk7+tomcat7+eclipse)
之前一段时间一直忙于毕业设计,也没有空学习了,本篇继续学习。
本篇将开始学习java web下使用servlet下来操作数据库,并展示到界面上的使用方法。
新建工程ServletMvc001。
目录结构如下:

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>ServletMvc001</display-name>
<welcome-file-list>
<welcome-file>logon.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>logOnServlet</servlet-name>
<servlet-class>com.dx.javamvc.servlets.LogOnServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>logOnServlet</servlet-name>
<url-pattern>/LogOnServlet</url-pattern>
</servlet-mapping>
</web-app>
logon.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form name="form1" id="form1" method="get" action="LogOnServlet">
<input type="submit" id="btnOk" name="btnOk" value="提交" />
</form>
</body>
</html>
showPerfileInfo.jsp
<%@page import="com.mysql.fabric.Response"%>
<%@page import="java.util.List" %>
<%@page import="com.dx.javamvc.entity.User" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<% List<User> userItem= (List<User>)request.getAttribute("UserItems"); %>
<%for(User user :userItem){
out.write("llddd");
%>
<%=user.getId() %><br/>
<%=user.getUserName() %><br/>
<%=user.getPassword() %><br/>
<%
} %>
</body>
</html>
jdbc.properties
DriverClass=com.mysql.jdbc.Driver JdbcUrl=jdbc:mysql://localhost:3306/servletmvc001 UserName=root Password=123456
DbConfiguration.java
package com.dx.javamvc.configuration; import java.io.*;
import java.net.URISyntaxException;
import java.util.*; public class DbConfiguration {
private static final String FILENAME = "jdbc.properties";
private static String userName = null;
private static String password = null;
private static String jdbcUrl = null;
private static String driverClass = null; public DbConfiguration() {
Properties property = new Properties(); try {
String path = this.getClass().getClassLoader().getResource("").toURI().getPath();
FileInputStream inStream = new FileInputStream(new File(path + FILENAME));
property.load(inStream);
setUserName(property.getProperty("UserName"));
setPassword(property.getProperty("Password"));
setJdbcUrl(property.getProperty("JdbcUrl"));
setDriverClass(property.getProperty("DriverClass"));
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} public String getUserName() {
return userName;
} private void setUserName(String userName) {
DbConfiguration.userName = userName;
} public String getPassword() {
return password;
} private void setPassword(String password) {
DbConfiguration.password = password;
} public String getJdbcUrl() {
return jdbcUrl;
} private void setJdbcUrl(String jdbcUrl) {
DbConfiguration.jdbcUrl = jdbcUrl;
} public String getDriverClass() {
return driverClass;
} private void setDriverClass(String driverClass) {
DbConfiguration.driverClass = driverClass;
} }
SexType.java
package com.dx.javamvc.entity;
public enum SexType {
Mail(0), Femail(1);
private int value;
private SexType(int value) {
setValue(value);
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
public static SexType valueOf(int value) {
SexType sexType;
switch (value) {
case 1:
sexType = SexType.Femail;
break;
default:
sexType = SexType.Mail;
break;
}
return sexType;
}
}
User.java
package com.dx.javamvc.entity;
import java.util.Date;
public class User {
private int id;
private String userName;
private String password;
private SexType sex;
private Date createDate;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public SexType getSex() {
return sex;
}
public void setSex(SexType sex) {
this.sex = sex;
}
public Date getCreateDate() {
return createDate;
}
public void setCreateDate(Date createDate) {
this.createDate = createDate;
}
}
DbUtil.java
package com.dx.javamvc.utils; import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException; import com.dx.javamvc.configuration.DbConfiguration;
import com.dx.javamvc.types.IExecuteQueryAction;
import com.dx.javamvc.types.IPreparedStatementAction; public class DbUtil {
public static void executeQuery(String sql, IPreparedStatementAction preparedStatementAction,
IExecuteQueryAction executeQueryAction) {
Connection connection = null;
PreparedStatement preparedStatement = null;
ResultSet resultSet = null; DbConfiguration configuration=new DbConfiguration();
String driverClass = configuration.getDriverClass();
String jdbcUrl = configuration.getJdbcUrl();
String userName = configuration.getUserName();
String password = configuration.getPassword(); try {
Class.forName(driverClass); connection = DriverManager.getConnection(jdbcUrl, userName, password);
preparedStatement = connection.prepareStatement(sql); if (preparedStatementAction != null) {
preparedStatementAction.action(preparedStatement);
} resultSet = preparedStatement.executeQuery(); if (executeQueryAction != null) {
executeQueryAction.action(resultSet);
}
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
if (resultSet != null) {
try {
resultSet.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (preparedStatement != null) {
try {
preparedStatement.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
if (connection != null) {
try {
connection.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
} } }
IExecuteQueryAction.java
package com.dx.javamvc.types; import java.sql.ResultSet;
import java.sql.SQLException; public interface IExecuteQueryAction {
void action(ResultSet result) throws SQLException;
}
IPreparedStatementAction.java
package com.dx.javamvc.types; import java.sql.PreparedStatement;
import java.sql.SQLException; public interface IPreparedStatementAction {
void action(PreparedStatement preparedStatement) throws SQLException;
}
UserDao.java
package com.dx.javamvc.domain; import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List; import com.dx.javamvc.entity.SexType;
import com.dx.javamvc.entity.User;
import com.dx.javamvc.types.IPreparedStatementAction;
import com.dx.javamvc.types.IExecuteQueryAction;
import com.dx.javamvc.utils.DbUtil; public class UserDao {
public List<User> getUserByUserName(final String userName) {
final List<User> userItems = new ArrayList<User>(); String sql = "Select * From User Where Name=?"; IPreparedStatementAction preparedStatementAction = new IPreparedStatementAction() {
@Override
public void action(PreparedStatement preparedStatement) throws SQLException {
preparedStatement.setString(1, userName);
}
}; IExecuteQueryAction executeQueryAction = new IExecuteQueryAction() {
@Override
public void action(ResultSet result) throws SQLException {
try {
while (result.next()) {
User user = new User(); user.setId(result.getInt("Id"));
user.setUserName(result.getString("Name"));
user.setPassword(result.getString("Password"));
user.setSex(SexType.valueOf(result.getInt("Sex")));
user.setCreateDate(result.getDate("CreateDate")); userItems.add(user);
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}; DbUtil.executeQuery(sql, preparedStatementAction, executeQueryAction); return userItems; }
}
LogOnServlet.java
package com.dx.javamvc.servlets; import java.io.IOException;
import java.util.List; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import com.dx.javamvc.domain.UserDao;
import com.dx.javamvc.entity.User; public class LogOnServlet extends HttpServlet {
private static final long serialVersionUID = -8807878351076369807L;
private static final UserDao userDao = new UserDao(); @Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
List<User> userItems = userDao.getUserByUserName("yy3b2007com");
req.setAttribute("UserItems", userItems);
req.getRequestDispatcher("/showPerfileInfo.jsp").forward(req, resp);
}
}
Java Servlet(七):JavaWeb MVC 操作(jdk7+tomcat7+eclipse)的更多相关文章
- Java Servlet(一):创建工程(jdk7+tomcat7+eclipse)
本篇文件主要记录下怎么在jdk7+tomcat7下,使用eclipse创建并运行一个servlet工程. 安装具体步骤从网上搜索就可以找到,这里不再赘述. 在eclipse中切换到j2ee下, 从导航 ...
- Java Servlet(四):Servlet接口service工作(ServletRequest,ServletResponse对象)(jdk7+tomcat7+eclipse)
本篇将会记录,Servlet接收客户端传递来的参数信息,并返回信息使用的对象,及这些对象的函数相关用法. 还是在java ee工程中进行操作,在WebContent目录下创建一个login.jsp文件 ...
- Java Servlet(六):HttpServlet实现原理(jdk7+tomcat7+eclipse)
本篇记录了HttpServlet的实现过程,主要讲述了如何依赖Servlet,GenericServlet实现的原理. HttpServlet实现过程:1.是一个Servlet,继承自GenericS ...
- JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能
一.分页工具类 package blank.util;import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; ...
- Java Servlet(五):GenericServlet与Servlet、HttpServlet之间的关系(jdk7+tomcat7+eclipse)
本篇主要记录下,对GenericServlet的作用理解,及其与Servlet/HttpServlet之间的关系. 示例完成业务: 1.新建一个login.jsp页面,要求改页面能输入username ...
- Java Servlet(二):servlet配置及生命周期相关(jdk7+tomcat7+eclipse)
该篇文章记录了Servlet配置相关用法及Servlet在Servlet容器中生命周期方法. Tomcat是一个Servlet容器: 1.Servlet容器管理了Servlet的整个生命周期,并调用s ...
- Java Servlet(十一):一个servlet被10个浏览器客户端访问时会创建几个servlet实例?
一般Servlet只初始化一次(只有一个实例).对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给该方法.如此重复以 ...
- Java Spring mvc 操作 Redis 及 Redis 集群
本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...
- JavaWeb之Java Servlet完全教程(转)
Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求. Servle ...
随机推荐
- CF 71C. Round Table Knights
题目链接 很多小的细节都没想到... #include <cstdio> #include <cstring> #include <iostream> #inclu ...
- BZOJ1443: [JSOI2009]游戏Game
如果没有不能走的格子的话,和BZOJ2463一样,直接判断是否能二分图匹配 现在有了一些不能走的格子 黑白染色后求出最大匹配 如果是完备匹配,则无论如何后手都能转移到1*2的另一端,故先手必输 否则的 ...
- fiddler 拦截小结
一,拦截请求或响应常用命令 1.拦截命令 bpu 清除拦截请求 bpu http://www.baidu.com 拦截访问百度网站的请求.可以在 request 框的 WebForms 中改请求内容. ...
- JSONP的小示例
jQuery中JSONP的两种实现方式: 都很简单,所以直接上代码! 前台代码如下: <script type="text/javascript"> $(functio ...
- webservice的Axis2入门教程java版
本文转自百度文库 Axis2是一套崭新的WebService引擎,该版本是对Axis1.x重新设计的产物.Axis2不仅支持SOAP1.1和SOAP1.2,还集成了非常流行的REST WebServi ...
- 李洪强iOS经典面试题125
1.objective-c 是所有对象间的交互是如何实现的? 在对象间交互中每个对象承担的角色不同,但总的来说无非就是"数据的发送者"或"数据的接收者"两种角色 ...
- Web前端开发基础 第四课(CSS小技巧1)
垂直居中-父元素高度确定的单行文本 父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的.如下代码: <div class=&q ...
- js去除中间空格
/ 功能: 1)去除字符串前后所有空格 // 2)去除字符串中所有空格(包括中间空格,需要设置第2个参数为:g) function Trim(str,is_global) { var result; ...
- Android课程---视图组件的总结
- 一次与iptables有关的Openstack排错
先说下环境: 宿主机A(192.168.1.242)上运行着实例a(192.168.1.176), 宿主机B(192.168.1.56)上运行着实例b(192.168.1.50). 用户说从实例b上t ...