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

本篇将开始学习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)的更多相关文章

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

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

  2. Java Servlet(四):Servlet接口service工作(ServletRequest,ServletResponse对象)(jdk7+tomcat7+eclipse)

    本篇将会记录,Servlet接收客户端传递来的参数信息,并返回信息使用的对象,及这些对象的函数相关用法. 还是在java ee工程中进行操作,在WebContent目录下创建一个login.jsp文件 ...

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

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

  4. JavaWeb学习记录(七)——MVC操作数据库增删改查与分页功能

    一.分页工具类 package blank.util;import java.util.List; import org.springframework.jdbc.core.JdbcTemplate; ...

  5. Java Servlet(五):GenericServlet与Servlet、HttpServlet之间的关系(jdk7+tomcat7+eclipse)

    本篇主要记录下,对GenericServlet的作用理解,及其与Servlet/HttpServlet之间的关系. 示例完成业务: 1.新建一个login.jsp页面,要求改页面能输入username ...

  6. Java Servlet(二):servlet配置及生命周期相关(jdk7+tomcat7+eclipse)

    该篇文章记录了Servlet配置相关用法及Servlet在Servlet容器中生命周期方法. Tomcat是一个Servlet容器: 1.Servlet容器管理了Servlet的整个生命周期,并调用s ...

  7. Java Servlet(十一):一个servlet被10个浏览器客户端访问时会创建几个servlet实例?

    一般Servlet只初始化一次(只有一个实例).对于更多的客户端请求,Server创建新的请求和响应对象,仍然激活此Servlet的service()方法,将这两个对象作为参数传递给该方法.如此重复以 ...

  8. Java Spring mvc 操作 Redis 及 Redis 集群

    本文原创,转载请注明:http://www.cnblogs.com/fengzheng/p/5941953.html 关于 Redis 集群搭建可以参考我的另一篇文章 Redis集群搭建与简单使用 R ...

  9. JavaWeb之Java Servlet完全教程(转)

    Servlet 是一些遵从Java Servlet API的Java类,这些Java类可以响应请求.尽管Servlet可以响应任意类型的请求,但是它们使用最广泛的是响应web方面的请求. Servle ...

随机推荐

  1. HTML-DOM零碎

    以下是取得集合,取得单个元素,取消红色"s" Document.getElementsByName("some") //IE无效Document.getElem ...

  2. SDL1.2学习

    http://wenku.baidu.com/view/c953c0878762caaedd33d4d8.html 一.安装: sudo apt-get install libsdl1.2-dev l ...

  3. 基于FSIOT_A 实验平台SAM3S4B cortex-M3的温湿度采集

    作者:卢老师,华清远见嵌入式学院讲师. DHT11数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器.它应用专用的数字模块采集技术和温湿度传感器技术,确保产品具有极高的可靠性与卓越的长期稳 ...

  4. GO语言练习:为类型添加方法

    1.代码 2.运行 1.代码 package main import "fmt" type Integer int //给in类型添加 Less 方法,int原来的方法被Integ ...

  5. 分馅饼 Pie

    Pie 链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85904#problem/C 题目: Problem Description ...

  6. HTML静态网页 格式与布局

    一.position:fixed 锁定位置(相对于浏览器的位置),例如有些网站的右下角的弹出窗口. 示例: 二.position:absolute  相对于自己最近的父元素来定位的 1.外层没有pos ...

  7. 前端相关js

    1. mailchimp.js: 通过电子邮件订阅 RSS 的在线工具 2. ga.js:google推出的用来统计网站信息的一个java脚本.可以在GoogleAnalytics获得网站的统计和追踪 ...

  8. strcat、strcpy、memcpy 的使用注意

    char *p = "hello";//5 个长度 ; //char *str = (char *)malloc(sizeof(char)*len); ] = "niha ...

  9. Joomla 3.2.0 - 3.4.4 无限制SQL注入漏洞

    http://www.sebug.net/vuldb/ssvid-89680#0-tsina-1-18081-397232819ff9a47a7b7e80a40613cfe1 http://10.21 ...

  10. ckeditor简单的演示

    先把ckeditor文件添加到项目中 然后在页面上引用 <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml& ...