使用JBoss和PostgreSQL-----快速开发EJB和J2EE Web Application

【Dify系列教程重置精品版】第二章:在Windows上部署Dify 让我们的电脑允许使用Linux系统。有点兴奋是怎么回事?简单来说就是让你的电脑拥有另一个叫做Linux的系统。3.选择“适用于Linux的Windows子系统”与 “虚拟机平台”与“Hyper-V"第1章:安装 wsl (Windows Subsystem for Linux)上一章我们聊了什么是Dify,这一章我们讲一下怎么才能用Dify。好了,我们的环境部署好了,下一章我们正式进入Dify。下载完成后,我们直接一直无脑下一步,安装即可。完成上述步骤,我们就可以开始安装wsl了。我们的虚拟化也是开启的。 阅读详情
 作者:Han QW, 转载请指明出处 如有不当之处,敬请指出

先安装JSDK,再安装JBoss.
安装JSDK,必须获得一套对应于用户的操作系统的JDK,
我的安装的文件目录是
WINDOWS2000:    d:/s1studio_jdk/j2sdk1.4.1
linux:         /root/s1studio_jdk/j2sdk1.4.1
为了用EJB, 需要一个j2ee-1.3.jar或者j2ee-1.2.jar,
如果安装了Sun One Studio 或者 J2EE (www.sun.com )这个文件已经有.
把这个文件放在classpath路径上.
或者使用jboss-j2ee.jar, 安装JBoss后在$JBoss/client中可找到. 
建议安装Sun One Studio, 用Sun One Studio编译JAVA源程序, 
不用设置classpath, 省去不少过程.

安装JBoss:
把JBoss的压缩包解开,放在任一目录上,
我的安装的文件目录是
/dose/jboss-3.0.4_tomcat-4.1.12 (REDHAT8.0)
E:/jboss-3.0.4_tomcat-4.1.12    (WINDOWS2000)
 WINDOWS2000, linux共用同一套JBoss.

配置JBoss:
启动JBoss需要执行一个脚本文件:
linux:run.sh
WINDOWS对应的是:run.bat

(1)
在JBoss/bin/run.bat (for Windows)开头插入一行
set JAVA_HOME = d:/s1studio_jdk/j2sdk1.4.1
在JBoss/bin/run.sh (for Linux)开头插入一行
JAVA_HOME="/root/s1studio_jdk/j2sdk1.4.1"

或者
(2)设置系统环境变量JAVA_HOME,指向JDK

运行JBoss, run.sh或者run.bat 
当看到启动JBoss的信息时,说明启动了.
服务器简单的测试:
JBoss默认的WEB端口为8080,我们可以在打开一个浏览器输入地址
http://localhost:8080/jmx-console
当在浏览器看到JBoss的信息时,说明安装配置JBoss成功了.



建立下面的目录和文件(注意大小写).

FIRST.EAR
|
|-----META-INF (application.xml)
|
|-----First.jar
|        |-----META-INF (ejb-jar.xml,jboss.xml)
|        `-----Dev
|               |-----First(FirstSession.java, FirstSessionHome.java, FirstSessionBean.java)
|               |-----Delegate(NewDelegate.java)
|               `-----Dao(MysqlDao.java)
|
`-----First.war(index.jsp)
        |
        `-----WEB-INF (jboss-web.xml, web.xml)
                |-----classes
                `-----lib

/*
**
**MysqlDao.java 
**
*/
  1. package Dev.Dao;
  2. import java.sql.Connection;
  3. import java.sql.SQLException;
  4. import java.sql.Statement;
  5. import java.sql.ResultSet;
  6. import javax.naming.InitialContext;
  7. import javax.sql.DataSource;
  8. public class MysqlDao {
  9.     public Connection getConnection() throws Exception {
  10.         InitialContext ctx = new InitialContext();
  11.         DataSource ds = (DataSource) ctx.lookup("java:/PostgresDS");
  12.         Connection conn = null;
  13.         Statement stmt = null;
  14.         try {
  15.             conn = ds.getConnection();
  16.         } catch (SQLException sqlEx) {
  17.             System.out.println("Error connect to pool.");
  18.         }
  19.         return conn;
  20.     }
  21.     public String getName(String id) throws Exception {
  22.         Connection conn = null;
  23.         Statement stmt = null;
  24.         ResultSet rs = null;
  25.         String name = "";
  26.         try {
  27.             conn = getConnection();
  28.             if ( conn !=null )System.out.println("Get conecttion. "+ conn.toString());
  29.             stmt = conn.createStatement();
  30.             if ( stmt !=null )System.out.println("Get Statement. "+ stmt.toString());
  31.             String sql = "SELECT * from users where id = '"+id+"'";
  32.             System.out.println("Sql from getId(): "+sql);
  33.            rs = stmt.executeQuery(sql);
  34.             if ( rs !=null )System.out.println("Get result. ");
  35.            if (rs.next()){
  36.             name = rs.getString("name");
  37.                }
  38.         } catch (Exception sqlEx) {
  39.         System.out.println("Error from getName().");
  40.                 System.out.println("Error from DAO.getName() :" + sqlEx.getMessage());
  41.         }finally {
  42.             if (conn != null) {
  43.                try { conn.close(); } catch (Exception sqlEx) { }
  44.             }
  45.         }
  46.         return name;
  47.     }
  48.     public String getCountry(String id) throws Exception {
  49.         Connection conn = null;
  50.         Statement stmt = null;
  51.         String name = "";
  52.         try {
  53.             conn = getConnection();
  54.             stmt = conn.createStatement();
  55.             String sql = "SELECT * from users where id = '"+id+"'";
  56.             System.out.println("Sql from getCountry(): "+sql);
  57.                java.sql.ResultSet rs = stmt.executeQuery(sql);
  58.                if (rs.next())
  59.             {
  60.                    name = rs.getString("Country");
  61.               }
  62.         } catch (SQLException sqlEx) {
  63.             System.out.println("Error from getCountry().");
  64.         }finally {
  65.             if (conn != null) {
  66.                try { conn.close(); } catch (Exception sqlEx) { }
  67.             }
  68.         }
  69.         return name;
  70.     }
  71. }


/*
**
**NewDelegate.java 
**
*/
  1. package Dev.Delegate;
  2. import java.lang.*;
  3. import Dev.First.*;
  4. public class NewDelegate {
  5.     Dev.First.FirstSession bean = null;
  6.     
  7.     public NewDelegate( ){
  8.        try {
  9.        javax.naming.InitialContext ctx = new javax.naming.InitialContext();
  10.        Object objref = ctx.lookup("ejb/FirstSession");
  11.        Dev.First.FirstSessionHome testBean = (Dev.First.FirstSessionHome)
  12.           javax.rmi.PortableRemoteObject.narrow
  13.           (objref,Dev.First.FirstSessionHome.class);
  14.        bean = testBean.create();
  15.        System.out.println("From JSP");
  16.     } catch (Exception NamingException) {
  17.            NamingException.printStackTrace();
  18.     }
  19.     }
  20.   
  21.     public String Welcome() {
  22.     String msg = "";
  23.     try {
  24.             msg = bean.Welcome();
  25.     } catch (Exception NamingException) { 
  26.            NamingException.printStackTrace();
  27.          }
  28.            return msg;
  29.     }
  30.     
  31.     public String getName(String id) {
  32.     String name = "";
  33.     try {
  34.             name = bean.getName(id);
  35.     } catch (Exception NamingException) { NamingException.printStackTrace();}
  36.         return name;
  37.     } 
  38.     
  39.     public String getCountry(String id) {
  40.     String country = "";
  41.     try {
  42.              country = bean.getCountry(id);
  43.     } catch (Exception NamingException) { NamingException.printStackTrace();}
  44.         return country;
  45.     }        
  46. }

/*
**
**FirstSession.java 
**
*/
  1. package Dev.First;
  2. import java.lang.*;
  3. import java.rmi.RemoteException;
  4. import javax.ejb.CreateException;
  5. import javax.ejb.EJBException;
  6. import javax.ejb.SessionBean;
  7. import javax.ejb.SessionContext;
  8. public interface FirstSession extends javax.ejb.EJBObject{
  9.          public String Welcome() throws java.rmi.RemoteException;
  10.          
  11.          public String getName(String id) throws java.rmi.RemoteException;
  12.          
  13.          public String getCountry(String id) throws java.rmi.RemoteException;
  14. }


/*
**
**FirstSessionHome.java 
**
*/
  1. package Dev.First;
  2. import java.lang.*;
  3. import java.rmi.RemoteException;
  4. import javax.ejb.CreateException;
  5. import javax.ejb.EJBException;
  6. import javax.ejb.SessionBean;
  7. import javax.ejb.SessionContext;
  8. public interface FirstSessionHome extends javax.ejb.EJBHome{
  9. public FirstSession create() throws javax.ejb.CreateException, java.rmi.RemoteException;
  10. }


/*
**
**FirstSessionBean.java 
**
*/
  1. package Dev.First;
  2. import java.rmi.RemoteException;
  3. import javax.ejb.CreateException;
  4. import javax.ejb.EJBException;
  5. import javax.ejb.SessionBean;
  6. import javax.ejb.SessionContext;
  7. public class FirstSessionBean implements SessionBean{
  8. public void ejbCreate() throws CreateException {
  9. }
  10. public String Welcome(){
  11.       String msg="Hello! This My Session Bean From Jboss.";
  12.       System.out.println(msg);
  13.       return msg;
  14. }
  15. public String getName(String id){
  16.       String name = "";
  17.       System.out.println("From bean before getName :"+ name);
  18.       try{
  19.       Dev.Dao.MysqlDao dao = new Dev.Dao.MysqlDao();
  20.       name = dao.getName(id);
  21.       System.out.println("From bean after getName :"+ name);
  22.       }catch(Exception e){ System.out.println(e.getMessage());}
  23.       return name;
  24. }
  25. public String getCountry(String id){
  26.       String country = "";
  27.       try{      
  28.       Dev.Dao.MysqlDao dao = new Dev.Dao.MysqlDao();
  29.       country = dao.getCountry(id);
  30.       }catch(Exception e){ }      
  31.       return country;
  32. }
  33. public void setSessionContext( SessionContext aContext ) throws EJBException {
  34. }
  35. public void ejbActivate() throws EJBException {
  36. }
  37. public void ejbPassivate() throws EJBException {
  38. }
  39. public void ejbRemove() throws EJBException {
  40. }
  41. }




/*Don't put the following lines into index.jsp
**
**index.jsp 
**
*/Don't put the above lines into index.jsp

  1. <%@page language="java" %>
  2. <%
  3.     String msg = "";
  4.     String msg1 = "";
  5.     Dev.Delegate.NewDelegate nn = new Dev.Delegate.NewDelegate();
  6.     if (request.getParameter("id") != null && 
  7.            request.getParameter("id") != ""&& 
  8.            !request.getParameter("id").equals("")){
  9.         String id = request.getParameter("id");
  10.         String name = "";
  11.         Dev.Dao.MysqlDao dao = new Dev.Dao.MysqlDao();
  12.         name = nn.getName(id);      //access database through session bean
  13.         //name = dao.getName(id);   //access database directly
  14.         if(name!= null && !name.equals("")){
  15.             msg1 ="Welcome  " + name +" !     You are from  "+ dao.getCountry(id)+ " .";
  16.         }else{
  17.             msg1 ="Please Check Your ID. : " + id;
  18.         }
  19.     }
  20.     msg = nn.Welcome() ;
  21. %>
  22. <html>
  23. <head>
  24. <title>Welcome</title>
  25. </head>
  26. <body bgcolor="#FFFFCC">
  27. <br> <%= msg %> <br>
  28. <FORM ACTION="index.jsp" method="post">
  29. <P>Your ID:
  30. <INPUT TYPE="TEXT" NAME="id" size = "10"></P>
  31. <P><INPUT TYPE="SUBMIT" NAME="SUBMIT"></P>
  32. </FORM>
  33. <br>
  34. <br>
  35. <%=(msg1 == "")? "":msg1 + "<br> <br> <br>Connect to Database OK." %>
  36. </body>
  37. </html>



<!--不要将此以下5行存入文件
**
**ejb-jar.xml
**
-->不要将此以上5行存入文件, 下同.
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" 
  3. "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
  4. <ejb-jar>
  5.  <description>First</description>
  6.  <display-name>First</display-name>
  7. <enterprise-beans>
  8. <!-- Session Beans -->
  9. <session id="MyFirstSession">
  10.      <display-name>My First Session Bean</display-name>
  11.      <ejb-name>FirstSession</ejb-name>
  12.      <home>Dev.First.FirstSessionHome</home>
  13.      <remote>Dev.First.FirstSession</remote>
  14.      <ejb-class>Dev.First.FirstSessionBean</ejb-class>
  15.      <session-type>Stateless</session-type>
  16.      <transaction-type>Container</transaction-type>
  17. </session>
  18. </enterprise-beans>
  19. <assembly-descriptor>
  20. </assembly-descriptor>
  21. </ejb-jar>




<!-- 
**
**jboss.xml
**
-->
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE jboss PUBLIC "-//JBoss//DTD JBOSS//EN" "http://www.jboss.org/j2ee/dtd/jboss.dtd">
  3. <jboss>
  4. <enterprise-beans>
  5. <session>
  6. <ejb-name>FirstSession</ejb-name>
  7. <jndi-name>ejbFirstSession</jndi-name>
  8. </session>
  9. </enterprise-beans>
  10. <resource-managers>
  11. </resource-managers>
  12. </jboss>



<!-- 
**
**jboss-web.xml
**
-->
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 2.2//EN" 
  3. "http://www.jboss.org/j2ee/dtd/jboss-web.dtd">
  4. <jboss-web>
  5.     <resource-ref>
  6.         <res-ref-name>jdbcPostgresDS</res-ref-name>
  7.         <res-type>javax.sql.DataSource</res-type>
  8.         <jndi-name>java:/PostgresDS</jndi-name>
  9.     </resource-ref>
  10. </jboss-web>



<!-- 
**
**web.xml
**
-->
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  3. "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
  4. <web-app>
  5. <resource-ref>
  6.   <description>Postgresql driver</description>
  7.   <res-ref-name>jdbcPostgresDS</res-ref-name>
  8.   <res-type>javax.sql.DataSource</res-type>
  9.   <res-auth>Container</res-auth>
  10. </resource-ref>
  11. </web-app>




<!-- 
**
**application.xml
**
-->
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <application>
  3. <display-name>First</display-name>
  4. <module>
  5. <web>
  6. <web-uri>First.war</web-uri>
  7. <context-root>/First</context-root>
  8. </web>
  9. </module>
  10. <module>
  11. <ejb>First.jar</ejb>
  12. </module>
  13. </application>



编译JAVA源程序,生成class文件.
进入JAVA源程序目录, 运行: 
javac -classpath  %classpath%;%jboss%/server/default/deploy/First.ear/First.jar *.java
或者
javac -classpath  %jboss%/server/default/deploy/First.ear/First.jar;%jboss%/client/jboss-j2ee.jar *.java

Copy 目录First.ear to jboss/server/default/deploy.
打开浏览器输入地址 http://localhost:8080/First

到此, 在浏览器看到:  Hello! This My Session Bean From Jboss. 
说明这个EJB工作了.

如果按按钮, 没反应或出错. 原因没安装配置数据库, 下面安装配置Postgres数据库


For Windows2000
下载 PgSQL731wina1.exe (http://www.postgresql.org),
Finally you will see the next line, you need enter the password for Administrator
最后你将看下一个行,你必须为用户Administrator输入password. 
********************
Enter password of user `./Administrator':123456
********************

记下此password, 我的口令是123456.

从开始菜单 > Programm > PostgresSQL > Adjust PostgresSQL Configuration file
它将在Wordpad中打开PostgresSQL Configuration文件, 找到下列行,


#
#    Connection Parameters
#
#tcpip_socket = false
#ssl = false

#max_connections = 32
#superuser_reserved_connections = 2

#port = 5432 

修改编辑:
#
#    Connection Parameters
#
tcpip_socket = true
#ssl = false

#max_connections = 32
#superuser_reserved_connections = 2

port = 5432 

接着,保存文件.

起动PostgresSQL服务器:
开始菜单>Programm>PostgresSQL>Utilies>Start PostgresSQL server
起动命令行:
开始菜单>Programm>PostgresSQL>Utilies>Command Shell


执行下列命令,准备数据,
Administrator@SAN /
$ dir

$ cd bin

$ createdb test

$ psql test

test=# create table users
test-# (name varchar(20),
test(# id varchar(20),
test(# country varchar(20));
test=# insert into users values ('Sam', '123', 'China');
test=# insert into users values ('Tom', '321', 'USA');
test=# insert into users values ('Sean', '231', 'France');

test=# select * from users;
 name | id  | country
------+-----+---------
 Sam  | 123 | China
 Tom  | 321 | USA
 Sean | 231 | France
(3 rows)

test=#

到此, 数据准备就绪.



For RedHat:
以root登陆, 执行下列命令,准备数据,
 
mkdir /usr/local/pgsql/data
chown postgres /usr/local/pgsql/data
su - postgres
/usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

Open and edit /usr/local/pgsql/data/pg_hba.conf

local      all                                          trust
host       all         127.0.0.1     255.255.255.255    trust

just delete #, and save.


[root@localhost root]# su - postgres
-bash-2.05b$ /usr/bin/postmaster -i -D /usr/local/pgsql/data >logfile 2>&1 &
-bash-2.05b$ /usr/bin/createdb test
-bash-2.05b$ /usr/local/pgsql/bin/psql test
test=#    .......the following same as Windows2000

到此, 数据准备就绪.


执行shutdown.bat or shutdown.sh, 停止Jboss Server.

找到JDBC drive.
为了在Jboss中使用连接池,需要拷贝jdbc drive 到Jboss/server/default/deploy ,  在linux 我们能找到/usr/share/pgsql/pgjdbc2.jar,在wondows2000,我们能找到PostgreSQL/usr/share/ postgresql/java/postgresql.jar
把其中之一复制到Jboss/server/default/deploy


配置Jboss

(1) 复制 $Jboss/examples/jca/postgres-service.xml 到 $Jboss/server/default/deploy/

(2) 打开编辑Jboss/server/default/deploy/postgres-service.xml

        <attribute name="JndiName">PostgresDS</attribute>
        <attribute name="ManagedConnectionFactoryProperties">
          <properties>
            <config-property name="ConnectionURL" type="java.lang.String">jdbc:postgresql://localhost/test</config-property>
            <config-property name="DriverClass" type="java.lang.String">org.postgresql.Driver</config-property>
            <!--set these only if you want only default logins, not through JAAS -->
            <config-property name="UserName" type="java.lang.String">Administrator</config-property>
            <config-property name="Password" type="java.lang.String">123456</config-property>
          </properties>

In my example, set Username  Administrator, password  123456 for windows 2000
        set Username  Postgres, no password  for Linux.
在我的例子中,
windows2000,   用户:Administrator,password:123456
Linux(RH8.0),  用户:Postgres, 没有password
因为PostgresSQL和windows2000使用不同的default用户名,所以在linux和window2000中这文件不同.当然,你可以加相同的PostgresSQL用户名和password在linux和window2000中, 这样这文件就相同了.

保存文件.

(3) 打开编辑 $Jboss/server/default/conf/standardjbosscmp-jdbc.xml
找到:
      <datasource>java:/DefaultDS</datasource>
      <datasource-mapping>Hypersonic SQL</datasource-mapping>
加入:
      <datasource>java:/PostgresDS</datasource>
      <datasource-mapping>Postgres</datasource-mapping> 
保存文件.

(4) open and edit $Jboss/server/default/conf/standardjaws.xml
找到:
   <datasource>java:/DefaultDS</datasource>
   <type-mapping>Hypersonic SQL</type-mapping>
   <debug>false</debug>
加入:
   <datasource>java:/PostgresDS</datasource>
   <type-mapping>Postgres</type-mapping>
   <debug>false</debug> 
保存文件.

现在重起JBoss.
打开浏览器输入地址 http://localhost:8080/First
输入ID,按按钮. 
VB摄像头监控 该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制 立即下载

相关推荐

《无人驾驶车辆模型预测控制》(第二版)第四章详细学习——算法部分

根据代码进行的“MPC跟踪直线和圆算法”的详细推导学习记录。

Fengdf666的博客 5018

ejb中映身postgresql中serial字段

三、映身postgresql中serial字段 serial不是一个真实的数据类型,ejb只视其为int,看了以下两文章,还是无法解决。 http://www.ibm.com/developerwork ... openjpa5/index.html   http://blog.sina.com.cn/s/blog_5709198d010009po.html   htt

zhuoli76的专栏 555

让Qt程序适配高分辨率屏幕,解决软件界面错乱异常

前期使用Qt开发一个登录模块一直使用很好。最近在一台新电脑上使用时发现排版混乱。这个问题很普遍,主要原因是旧软件对高清显示器的适配不当造成的。新电脑使用的是4K屏,win10系统自动进行了175%的缩放。

cihron的博客 1万+

JBOSS中配置postgres数据源

[b]原创文章,欢迎转载,转载时务必注明原文地址及作者[/b] [b](1)JDBC驱动的配置[/b] 配置postgres的JDBC驱动添加到JBOSS下 1.把postgresql-8.4-701.jdbc3.jar拷贝到${JBOSS_HOME}/server/default/lib目录下 [b](2)数据源的设定[/b] postgres数据源的配置文件设定 ...

cwh643的博客 569

9 HAL库驱动框架简述(STM32HAL库)

HAL库外设的使用步骤总结如下:1、定义并填充xxx外设句柄结构体。2、如果遵循HAL库规范,通过HAL_xxx_MspInit()函数,实现外设底层资源的初始化,包括但不限于GPIO、时钟、DMA、中断等资源的初始化。3、调用HAL库的对应外设初始化函数,形如:HAL_xxx_Init()。4、初始化完成,开始使用外设。5、使用方法具体查看对应外设的HAL库驱动包中的说明:补充:HAL库使用主线外设初始化外设使用。

qq_25218501的博客 1982

小红书爬取实战指南

以上方案仅供技术学习参考,请确保遵守目标网站的服务条款和相关法律法规。

monk all the way 6926

在JBoss AS7中配置PostgreSQL数据源

在AS7当中,引入了新的module的概念。因此,如果需要在AS7中添加对PostgreSQL的支持,需要做的是加入一个新的module。查看一下AS7的目录结构: Bash代码 weli@power:~/projs/jboss-as-7.1.1.Final$ ls LICENSE.txt bundles jboss-modules.jar README.

liusai19的专栏 1765

粒子群算法Particle Swarm Optimization超详细解析+代码实例讲解

粒子群算法,也称粒子群优化算法或鸟群觅食算法(Particle Swarm Optimization),缩写为 PSO, 是近年来由J. Kennedy和R. C. Eberhart等开发的一种新的进化算法(Evolutionary Algorithm - EA)。

猫敷雪 893

jboss部署web应用

初次部署jboss的web应用,把tomcat/weblogic下的工程移植到jboss上发布 一、修改JBOSS应用服务器连接的数据库和端口: 1、端口修改: 4.*版: ${JBOSS_HOME}/server-->default-->deploy-->jbossweb.sar-->server.xml 5.*版:...

刘飞 293

【数据湖仓】:Iceberg、Hudi 和 Paimon 对比

适用于需要多计算引擎支持和复杂查询的离线批处理场景。其中立性和灵活性使其成为构建新型数据平台的理想选择。:在需要高频数据更新和高效小文件管理的场景中表现出色,适合实时数据处理和增量数据更新的业务需求。:专为实时流式数据处理设计,适用于对数据实时性要求高的业务场景,如实时数据分析和实时指标监控。通过以上分析,可以看出 Apache Iceberg、Apache Hudi 和 Apache Paimon 各有其独特的优势和适用场景。企业应根据自身业务需求和技术栈选择合适的数据湖仓方案,以充分发挥其价值。

欢迎来到我的博客,一起探索代码里的世界! 1610

在Centos上从零开始部署并运行TinyWebServer服务器,过程记录(非常详细)

TinyWebServer是个什么项目?它是Linux下C++轻量级Web服务器,助力初学者快速实践网络编程,搭建属于自己的服务器。使用线程池+非阻塞socket+epoll(ET和LT均实现) +事件处理(Reactor和模拟Proactor均实现) 的并发模型使用状态机解析HTTP请求报文,支持解析GET和POST请求访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件实现同步/异步日志系统,记录服务器运行状态。......

AnChenliang_1002的博客 3021

合天网络安全笔记(五)

上一节我们配置好了编程环境,本节中我们来看看渗透测试的整体工作流程以及会用到的一些核心工具。明确目标:获得客户授权,确定测试范围与规则。信息收集:收集目标资产信息(域名、IP、端口、服务、人员信息等)。这是后续所有步骤的基础,也是面试常考点。漏洞探测:利用工具或手动方式,分析收集到的信息,发现可能存在的安全漏洞。漏洞利用:编写或使用现有漏洞利用代码(Exploit),尝试攻击漏洞,获取系统权限或敏感数据。内网渗透(如果涉及):在取得立足点后,进一步探测和攻击内网其他主机。信息整理与报告编写。

龙哥盟 141

【unity实战】随机地下城生成3——设置人物移动脚本、动画的切换和摄像机的跟随(含源码)

给房间添加触发器碰撞体,用来判断角色是否进入房间切割人物图片,注意人物每个图片高度可能不同,所有我们需要把轴心调整到人物的底部把人物跑步图片的高度,统一调成20,下面镂空,达到跳跃的效果快速创造人物动画,以人物idle为例,我们选中所有的idle人物图片,拖拽至窗口,unity就会自动生成,并提示保存动画位置别忘记设置人物排序图层,运行人物就动起来了新增run动画设置人物碰撞体设置刚体将重力设置为0,持续人物移动和动画切换的代码设置摄像机跟随单例代码在room中调用。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1052

Wildfly配置PostgreSQL数据源

在做实验室物品管理系统的时候,从Phabricator上克隆下来老师做的项目框架想着跑起来,但是出现了一个问题,是关于Datasource数据源配置的问题。简单来说,因为用的Datasource的方式来管理的数据库,配置数据源的作用就是给容器指定它要管理的是什么,方式是怎样的,Url地址等。相关配置方法1.通过手动添加的方式jboss as 7配置postgresql数据源的方法2.通过Wildfl

Anxiaolu的博客 1247

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

jboss之启动加载过程详解(-)

今天看了看jboss的boot.log和server.log日志,结合自己的理解和其他的资料,现对jboss的启动和加载过程做出如下总结; 本文以 JBoss Application Server 4.2.1 GA(以下简称JBoss)为例,介绍它在Windows平台上的启动过程。为了方便叙述,对平台环境做以下假定:Java运行时的安装路径为 C:/Java,JBoss的安装路径为C:/JB...

kingwolfs的博客 1368

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Java Web系列:Java Web 项目基础

1.Java Web 模块结构 JSP文件和AXPX文件类似,路径和URL一一对应,都会被动态编译为单独class。Java Web和ASP.NET的核心是分别是Servlet和IHttpHandler接口,因此无论是基础的Page文件(JSP、ASPX)方式还是后来发展的MVC方式(Spring MVC、ASP.NET MVC)都是基于核心接口的基础上再次封装和扩展(DispatcherSer...

weixin_34184561的博客 265

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/Game,J2EEApplication=none

在搭建springmvc项目时遇到这个问题,在网上看了很多大神的建议,都是tomcat和项目的jdk版本不一致,我反复确认发现版本是没问题的。后来又看到有人说jar包重复也会报这个错,一看真的重复了,但是删除之后还是报同样的错,找了好久,最后终于发觉是jar包版本问题。1.这个是我最开始导入的jar包版本2.这个是我之后导入的jar包版本更改jar包版本之后不报错了,以此记录一下,警示自己不要胡搞...

南方嘉木的博客 4479

Android连接服务器的5种方式

原文地址1. URLpublic class MyURLActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

zaoanx 1万+

DDR高速信号完整性仿真实战:从SIWAVE建模到眼图优化

DDR信号完整性是数字硬件工程师面向高速接口设计的核心能力,其本质是纳秒级时序控制与电磁场行为的耦合问题。原理上需融合传输线理论、电源分配网络(PDN)阻抗建模及IBIS-AMI通道仿真;技术价值在于将‘经验调试’前置为‘风险预控’,显著降低改板成本与项目延期风险;典型应用场景覆盖DDR4/DDR5内存子系统设计、FPGA加速卡开发及工业级图像采集系统落地。本文聚焦SIWAVE建模校准、PDN阻抗优化与眼图生成闭环,深度解析叠层参数实测、过孔精细化建模及外部电容装载等高频实操痛点。

weixin_34161064的博客 496

严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/sshnews,J2EEApplicatio

严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/sshnews,J2EEApplication=none,J2EEServer=none 还有其他报错,大概意思就是不支持版本 version 51,unable to load class org.glassfish.jersey.servlet

lele2426的专栏 1万+

class版本问题导致-严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule=//localhost/web

Unsupported major.minor version 51.0”,因为java是向下兼容的,即jdk7能兼容小于jdk7编译的class文件,jdk6能兼容小于jdk6编译的class文件,jdk6能不能兼容jdk7编译的class文件

星空的专栏 1万+

JBoss7/WildFly配置PostgreSQL数据源

PostgreSQL数据源配置-JBoss7/WildFly1 第一步:下载postgresql-driver驱动1.1 去 https://jdbc.postgresql.org/download.html下载驱动,一般不下最新版,比如我下载的postgresql-9.4.1210.jre6.jar2 第二步:将driver放入指定目录,并添加module映射文件2.1 目录结构如图所示:2.2

白衣 1004
上一篇: Javadoc 利弊分析(from IBM)
下一篇: 优秀的O-R Mapping工具--TOPLink使用简介
zaowei21
博客等级 码龄25年 38粉丝 517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值