1. 我正在做一個java留言版,設計
資料庫是必不可少的,推薦MySQL,好用而且免費。
另外許可權的話,你是個新手吧。可以設計的簡單點能達到清爽就行了。
如果你會使用struts2框架的話就使用它的攔截器來實現請求的許可權攔截判斷。
如果不會的話就使用過濾器吧。當然其中的處理許可權的邏輯都是一樣的。
當然Spring Security也是一個選擇。
關於許可權的邏輯,你先要設計資料庫表,你可以簡單的分為用戶表和許可權表。
用戶表就是:用戶ID,用戶名等簡單欄位
許可權表就是:許可權ID許可權名稱,許可權對應URL(這個URL就對應了一個功能的servelet或者一個action)
你還需要一張中間表,實現上述2張表多對多的關系,欄位:用戶ID,許可權ID
因為每個功能踩,頂,發言,刪除等,都是一個http請求,每個請求都是一個URL,會去到一個servelet或action來處理的。那麼你根據URL可以得到這個許可權的ID,再去查找中間表是否存在當前用戶ID所關聯的記錄,有就說明有這個許可權,沒,就說明沒有這個許可權。
2. 怎麼用java寫留言板
主要還是用html或者jsp寫,通過提交表單傳參到java類中進行處理,直接也可以用servlet,不過寫出的代碼跟SH1T一樣,根本沒法看
3. Java怎麼實現,像主流網站似的,意見反饋功能,點擊意見反饋按鈕,彈出對話框,提交會發送郵件,
意見反饋功能實現很簡單,後台有個留言表,用來記錄用戶及反饋內容,處理狀態等等
當用戶提交的時候,後台直接發送一個郵件,反饋給用戶,當工作人員處理了反饋,再發個郵件給用戶
後台實現邏輯:
定時線程,定時去取郵件表的數據,一發現有未發送的郵件,立即發送
java發郵件查看JavaMail
郵件表可以通過觸發器產生,例如用戶提交反饋的時候產生
定時器需要伺服器啟動的時候啟動
4. java中 如何做 文章評論 或者 博客留言
1:
session里有登陸用戶的id
博客id能查到擁有者的id
equal一下就知道了唄
2:
回復應該放一個表裡 欄位里存博客id或者所有者id,然後存評論人的id,date,ip就行了
5. javaweb項目里的留言回復邏輯
帖子的表 id 所屬用戶id 主題
留言的表 id 所屬帖子id 所屬用戶id 內容
回復的表 id 所屬留言id 所屬用戶id 內容
點擊發表 將框里的內容及所屬帖子id 用戶id 內容記錄到留言表裡 並刷新頁面
顯示用戶id +內容
點擊回復 將框里的內容及所回復用戶的id 用戶id 內容記錄到回復表裡 並刷新頁面
顯示用戶id 所回復用戶的id 內容
6. 急急急!java簡單留言板
您好。我重新地幫你寫了代碼,完全地符合了你的圖片中的界面要求、功能要求。代碼如下:(解決了問題,記得給我分哦~^_^呵呵……)
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import java.awt.Rectangle;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.Font;
import javax.swing.JTextArea;
import javax.swing.JScrollBar;
import javax.swing.JScrollPane;
import javax.swing.JComboBox;
import javax.swing.JTextField;
import javax.swing.JButton;
public class Liuyb extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JLabel jLabel = null;
private JTextArea jTextArea = null;
private JScrollPane jScrollPane = null;
private JLabel jLabel1 = null;
private JComboBox jComboBox = null;
private JLabel jLabel2 = null;
private JTextField jTextField = null;
private JButton jButton = null;
private JButton jButton1 = null;
private JButton jButton2 = null;
private JButton jButton3 = null;
/**
* This is the default constructor
*/
public Liuyb() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setContentPane(getJContentPane());
this.setTitle("留言板程序");
this.setBounds(new Rectangle(0, 0, 640, 480));
this.setVisible(true);
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jLabel2 = new JLabel();
jLabel2.setBounds(new Rectangle(214, 407, 45, 24));
jLabel2.setFont(new Font("Dialog", Font.BOLD, 14));
jLabel2.setText("地說:");
jLabel1 = new JLabel();
jLabel1.setBounds(new Rectangle(32, 407, 15, 24));
jLabel1.setFont(new Font("Dialog", Font.BOLD, 14));
jLabel1.setText("你");
jLabel = new JLabel();
jLabel.setBounds(new Rectangle(283, 15, 45, 20));
jLabel.setHorizontalAlignment(SwingConstants.CENTER);
jLabel.setFont(new Font("Dialog", Font.BOLD, 14));
jLabel.setText("留言板");
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(jLabel, null);
jContentPane.add(getJScrollPane(), null);
jContentPane.add(jLabel1, null);
jContentPane.add(getJComboBox(), null);
jContentPane.add(jLabel2, null);
jContentPane.add(getJTextField(), null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJButton1(), null);
jContentPane.add(getJButton2(), null);
jContentPane.add(getJButton3(), null);
}
return jContentPane;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setText("留言內容:");
jTextArea.setEditable(false);
}
return jTextArea;
}
/**
* This method initializes jScrollPane
*
* @return javax.swing.JScrollPane
*/
private JScrollPane getJScrollPane() {
if (jScrollPane == null) {
jScrollPane = new JScrollPane();
jScrollPane.setBounds(new Rectangle(22, 49, 534, 347));
jScrollPane.setViewportView(getJTextArea());
}
return jScrollPane;
}
/**
* This method initializes jComboBox
*
* @return javax.swing.JComboBox
*/
private JComboBox getJComboBox() {
if (jComboBox == null) {
jComboBox = new JComboBox();
jComboBox.setBounds(new Rectangle(54, 407, 149, 24));
String[] mycbox={"微笑","大笑","痛苦"};
jComboBox.addItem(mycbox[0]);
jComboBox.addItem(mycbox[1]);
jComboBox.addItem(mycbox[2]);
}
return jComboBox;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(265, 407, 231, 24));
}
return jTextField;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(505, 407, 70, 24));
jButton.setText("提交");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jTextArea.setText(jTextArea.getText()+"\r\n"+"你"+jComboBox.getSelectedItem().toString()+"地說:"+jTextField.getText());
}
});
}
return jButton;
}
/**
* This method initializes jButton1
*
* @return javax.swing.JButton
*/
private JButton getJButton1() {
if (jButton1 == null) {
jButton1 = new JButton();
jButton1.setBounds(new Rectangle(565, 51, 60, 32));
jButton1.setText("清屏");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jTextArea.setText("留言內容:");
}
});
}
return jButton1;
}
/**
* This method initializes jButton2
*
* @return javax.swing.JButton
*/
private JButton getJButton2() {
if (jButton2 == null) {
jButton2 = new JButton();
jButton2.setBounds(new Rectangle(565, 112, 60, 32));
jButton2.setText("置頂");
jButton2.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jTextArea.setCaretPosition(0);
}
});
}
return jButton2;
}
/**
* This method initializes jButton3
*
* @return javax.swing.JButton
*/
private JButton getJButton3() {
if (jButton3 == null) {
jButton3 = new JButton();
jButton3.setBounds(new Rectangle(565, 173, 60, 32));
jButton3.setText("至尾");
jButton3.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
jTextArea.setCaretPosition((int)jTextArea.getText().length());
}
});
}
return jButton3;
}
public static void main(String args[]){
new Liuyb();
}
}
7. JAVA的留言板是怎麼實現新留言,和回復留言的。
首先要會資料庫,做一張留言表,一張回復表,留言表和回復表呈現一對多關系,就是說在回復表裡面加一列叫做『留言編號』,每次添加回復數據的時候,把對應的的留言id寫進表裡,insert
into
回復表
values(回復id,留言id,回復內容、、、)查的時候
select
*
from
回復表
where
留言id=想查回復的留言的id,希望理解我說的
8. 用Java做一個類似於QQ空間留言板的功能。。。
不用資料庫也能實現. 及時性的罷了;
要是資料庫的話:方法一(用於有條件性的,比如只顯示對方發的信息)
1 user表 id , use 兩列
2 messages表 id , message , message_person , use_id (外鍵) 四列
方法二(雙方都用select * form messages查詢所有信息)
1 messages表 id , message 兩列
9. 用Java web 做一個留言板 留言功能實現了,不知道怎麼實現回復和刪除留言的功能,知道的高手,請幫幫忙。
先說說回復吧:
假如:
留言表(id , text )兩個欄位
回復表( id , text parentId )用來存放留言表id 三個欄位
目前有一條留言
1001,'這是一條留言';
那麼給這條留言的回復就是
1003 , '這是一條回復', 1001(這就是該留言的ID) 這樣就把留言和回復關聯上了
回復後點保存時,將數據傳入後台,資料庫做insert操作就行了
刪除一樣的
如果刪除回復,直接傳入回復的ID 即可
如果刪除留言,得先判斷該留言有沒有回復,如果有回復,則先刪除回復,在刪除留言(外鍵約束)
10. JAVA的留言板是怎麼實現新留言,和回復留言的。
首先要會資料庫,做一張留言表,一張回復表,留言表和回復表呈現一對多關系,就是說在回復表裡面加一列叫做『留言編號』,每次添加回復數據的時候,把對應的的留言id寫進表裡,insert into
回復表 values(回復id,留言id,回復內容、、、)查的時候 select * from 回復表 where 留言id=想查回復的留言的id,希望理解我說的