魏书和魏志的区别?
魏书和魏志在人物、领域和成就等方面存在明显的差异。
首先,魏书是明末清初的画家和诗人,他的代表作品包括《石床诗文集》二十卷等。魏书的艺术风格独特,擅长诗词和书画,其画作山水、竹木、鸟兽等都穷态尽妍。魏书生平经历丰富,性放浪不羁,不入俗流。他曾为安徽歙县商人孙某保存一袋金银,并在孙死后原封不动地奉还,展现了他的诚信和坚定。
其次,魏志是一名篮球运动员,在场上扮演着中锋的重要角色。他曾效力于CBA山东金斯顿男篮,2007年离队。魏志拥有强厚的上肢力量和灵活的下肢步伐,这使他成为一位优秀的篮球运动员。2012年退役后,他担任了教练工作。
综上所述,魏书是明末清初的画家和诗人,擅长诗词和书画,作品风格独特;而魏志是一名篮球运动员,担任过CBA山东金斯顿男篮的中锋,退役后担任教练工作。两者在人物、领域和成就等方面存在明显差异。
魏书和魏志是两本不同的历史书籍,它们在内容和形式上存在一些区别。
首先,魏书是正史之一,是中国历史上第一部纪传体断代史,记载了北魏从建国到灭亡(534-550年)的历史。而魏志则是三国时期吴国史书,记载了三国时期吴国的重要历史事件和人物。
其次,从内容上看,魏书包括了政治、经济、文化、社会等各个方面的内容,具有很高的史料价值和研究价值。而魏志则主要关注吴国的政治、军事和文化等方面的内容,对于研究三国时期吴国历史具有重要价值。
此外,两本书在行文风格和编纂体例上也存在差异。魏书以典雅的文言文写成,语言精炼,文章简洁,具有一定的文学价值。而魏志则以较为通俗的文言文写成,更注重叙事性,文章较为冗长。
总之,魏书和魏志是两本重要的历史书籍,它们在内容、形式和价值上存在一定差异。
web开发者模式?
web开发模式
Model1
显示层,控制层,数据层,统一交给jsp或者javabean处理.
处理流程
客户端发送request 到 jsp jsp 执行javabean javabean读取databases
返回 databases 返回给javabean 在返回给jsp 在response 给客户端
即 jsp + dao 方式
model - view - controller
客户端发送request 到servlet 然后servlet 执行javabean javabean用于读取databases 控制器,获取到javabean读取的数据以后,再次返回给jsp,jso生成html文件,response 给客户端
分为 显示层 控制层 模型层
EJB 属于SUN提供的分布式
代码如下
创建数据库
no 列名称 描述
1 userid 保存用户的登录id
2 name 用户真实姓名
3 password 用户密码
目录结构如下
jdbc层
package com.ming.dbc;
import java.sql.Connection;
import java.sql.DriverManager;
public class DatabaseConnection {
private static final String DBDRIVER = "com.mysql.cj.jdbc.Driver";
private static final String DBURL = "jdbc:mysql://47.94.95.84:32786/test";
private static final String DBUSER = "test";
private static final String DBPASSWORD = "ABCcba20170607";
private Connection connection = null;
// 连接数据库
public DatabaseConnection() throws Exception{
try{
Class.forName(DBDRIVER);
connection = DriverManager.getConnection(DBURL, DBUSER, DBPASSWORD);
}catch (Exception e){
throw e;
}
}
// 获得数据库连接
public Connection getConnection(){
return this.connection;
}
// 数据库关闭
public void close() throws Exception{
if(this.connection != null){
try{
this.connection.close();
}catch (Exception e){
throw e;
}
}
}
}
dao层
定义接口
package com.ming.dao;
import com.ming.vo.User;
public interface IUserDAO {
/**
* 用户登录验证
* @param user 传入VO对象
* @return 验证操作结果
* @throws Exception 抛出错误
*/
public boolean findLogin(User user) throws Exception;
}
实现类
package com.ming.dao;
import com.ming.vo.User;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
public class UserDAOImpl implements IUserDAO {
// 数据库连接对象
private Connection connection = null;
// 操作对象
private PreparedStatement preparedStatement = null;
// 数据库连接
public UserDAOImpl(Connection _connection){
this.connection = _connection;
}
/**
* 用户登录验证
*
* @param user 传入VO对象
* @return 验证操作结果
* @throws Exception 抛出错误
*/
@Override
public boolean findLogin(User user) throws Exception {
boolean flag = false;
try{
String sql = "SELECT name FROM user WHERE userid = ? AND password = ?";
// 获得实例化对象
this.preparedStatement = this.connection.prepareStatement(sql);
// 设置id
this.preparedStatement.setString(1, user.getUserid());
this.preparedStatement.setString(2, user.getPassword());
ResultSet resultset = this.preparedStatement.executeQuery();
if(resultset.next()){
user.setName(resultset.getString(1));
flag = true;
}
}catch (Exception e){
throw e;
}finally {
if(this.preparedStatement != null){
try{
this.preparedStatement.close();
}catch (Exception e){
throw e;
}
}
}
return flag;
}
}
代理类
package com.ming.dao;
import com.ming.dbc.DatabaseConnection;
import com.ming.vo.User;
public class UserDAOProxy implements IUserDAO {
private DatabaseConnection databaseConnection = null;
private IUserDAO dao = null;
public UserDAOProxy(){
try{
this.databaseConnection = new DatabaseConnection();
}catch (Exception e){
e.printStackTrace();
}
this.dao = new UserDAOImpl(this.databaseConnection.getConnection());
}
/**
* 用户登录验证
*
* @param user 传入VO对象
* @return 验证操作结果
* @throws Exception 抛出错误
*/
@Override
public boolean findLogin(User user) throws Exception {
boolean flag = false;
try{
flag = this.dao.findLogin(user);
}catch (Exception e){
throw e;
}finally {
this.databaseConnection.close();
}
return flag;
}
}
定义代理工厂
package com.ming.factory;
import com.ming.dao.IUserDAO;
import com.ming.dao.UserDAOProxy;
public class DAOFactory {
public static IUserDAO getIuserDAOInstance(){
return new UserDAOProxy();
}
}
实体关系映射
package com.ming.vo;
// 对user表进行映射
public class User {
private String userid;
private String name;
private String password;
public String getUserid() {
return userid;
}
public String getName() {
return name;
}
public String getPassword() {
return password;
}
public void setUserid(String userid) {
this.userid = userid;
}
public void setName(String name) {
this.name = name;
}
public void setPassword(String password) {
this.password = password;
}
}
视图层
<%@ page import="java.util.List" %>
<%@ page import="java.util.Iterator" %><%--
Created by IntelliJ IDEA.
User: ming
Date: 19-3-16
Time: 下午11:07
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<h2>用户登录程序</h2>
<%
List<String> info = (List<String>)request.getAttribute("info");
if(info != null){
Iterator<String> iterator = info.iterator();
while(iterator.hasNext()){
%>
<h4><%=iterator.next()%></h4>
<%
}
}
%>
<form action="loginServlet" method="post">
用户id <input type="text" name="userid" id="uname"/>
密码 <input type="password" name="userpass" id="password"/>
<input type="submit" value="登录" id="submit"/>
<input type="reset" value="重置"/>
</form>
<script>
let submit = document.getElementById("submit");
submit.onclick = (event) => {
let uname = document.getElementById("uname").value;
let password = document.getElementById("password").value;
if(!(/^\w{5,15}/.test(uname))){
alert("用户id为5-15位");
return false;
}
if(!(/^\w{5,15}/.test(password))){
alert("密码必须为5-15位");
return false;
}
return true;
}
</script>
</body>
</html>
配置文件
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd" >
<web-app>
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>com.ming.servlrt.LoginServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/loginServlet</url-pattern>
</servlet-mapping>
</web-app>
mvc运行流程
表单提交到servlet,servlet调用dao进行表单验证,然后dao连接数据库进行验证,验证结果返回给业务层,即servlet,在业务层servlet中获取info等日志信息,然后服务器端跳转到运行结果页面即view层.
Web开发者模式是用于在浏览器中进行Web开发和调试的一种功能。通过进入Web开发者模式,您可以查看页面的实时代码、调试JavaScript、模拟不同设备的响应、检查网络请求等。
下面是在常见浏览器中打开Web开发者模式的方法:
1. Google Chrome:
- 打开Chrome浏览器,并进入您要进行开发的网页。
- 右键点击页面上的任何位置,然后选择“检查”或“检查元素”选项。
- 或者,您可以按下键盘上的Ctrl + Shift + I(Windows / Linux)或Command + Option + I(Mac)来快速打开开发者工具。
- 这将打开Chrome的开发者工具面板,其中包含了很多有用的调试和开发功能。
2. Mozilla Firefox:
- 打开Firefox浏览器,并进入您要进行开发的网页。
- 右键点击页面上的任何位置,然后选择“检查元素”选项。
- 或者,您可以按下键盘上的Ctrl + Shift + I(Windows / Linux)或Command + Option + I(Mac)来快速打开开发者工具。
- 这将打开Firefox的开发者工具面板,其中包含了各种调试和开发功能。
3. Microsoft Edge:
- 打开Microsoft Edge浏览器,并进入您要进行开发的网页。
- 右键点击页面上的任何位置,然后选择“检查”选项。
- 或者,您可以按下键盘上的F12键来快速打开开发者工具。
- 这将打开Edge的开发者工具面板,其中包含了各种调试和开发功能。
其他主流浏览器(如Safari、Opera等)也提供类似的开发者工具和快捷键来打开Web开发者模式。您可以根据您正在使用的特定浏览器,查阅其文档或进行在线搜索,以获取更详细的指导和使用说明。