


Interface utilisateur simple Java implémentant la fonction de forum de messages Java
La technologie JSP JavaBean a été utilisée dans un forum de messages que j'ai réalisé auparavant. C'était un développement relativement complet, alors apprenons-en. Elle peut être utilisée dans ce projet de stage, alors j'y ai pensé pour la revoir un instant !
Technologie de forum de messages JSP JavaBean
<span style="font-size:16px;">Messages.html <HTML></span><span style="font-size:16px;"><HEAD> <TITLE> message board </TITLE></HEAD> <BODY> <center>留言板</center> <FORM action="addMessage.jsp" > <TABLE border=1 align="center"> <TR><TD>姓名:</TD><TD><input type="text" name="name" size=25> </TD></TR> <TR><TD>E-mail:</TD> <TD><input type="text" name="email" size=25></TD></TR> <TR><TD>主题:</TD> <TD><input type="text" name="title" size=25></TD></TR> <TR><TD>留言:</TD> <TD><textarea name="content" rows=7 cols=25></textarea> </TD></TR> <TR><TD colspan=3> <TABLE align="center" width="100%" cellspacing="0" cellpadding="0" > <TR> <TD align="center"><input type="submit" value="提交留言"></TD> <TD align="center"> <a href="viewMessages.jsp"><font size=2>查看留言</font></a></TD> <TD align="center"><input type="reset" value="重新填写"></TD> </TR></TABLE></TD> </TR></TABLE></FORM></BODY></HTML></span>
<span style="font-size:16px;">MessageData.java package message; public class MessageData { private String name,email,title,content; //setter或者getter方法 public void setName(String name){this.name=name;} public void setEmail(String email){ this.email=email;} public void setTitle(String title){ this.title=title;} public void setContent(String content){this.content=content;} public String getName(){ return this.name;} public String getContent(){ return this.content;} public String getTitle(){ return this.title;} public String getEmail(){ return this.email;}}</span>
<span style="font-size:16px;">viewMessages.jsp <%@ page contentType="text/html; charset=GBK" import="message.MessageData" %> <%@ page import="java.util.*"%> <jsp:useBean id="myBean" class="message.MessageBean" scope="page"/> <HTML><HEAD><TITLE> show the message in the table </TITLE></HEAD> <BODY><p align="center">所有留言</p> <TABLE align="center" width="80%" border=1 > <% int message_count=0; Collection <MessageData> messages=myBean.getAllMessage(); Iterator <MessageData> it=messages.iterator(); while(it.hasNext()){ MessageData mg=(MessageData)it.next(); %> <tr> <td width="20%">留言人:</td> <td width="23%"><%=mg.getName()%></td> <td width="58%" align="center"><% out.println( "<a href=mailto:"+mg.getEmail()+">"+mg.getEmail()+"</a>"); %></td></tr> <tr> <td width="20%">主题:</td> <td colspan="3"><%=mg.getTitle()%></td> </tr> <tr> <td width="20%">内容:</td> <td colspan="3"><%=mg.getContent()%></td> </tr> <% message_count++; } %> </Table> <p align="center"><a href="Messages.html">我要留言</a></p> </body></html></span>
<span style="font-size:16px;">addMessage.jsp <%@ page language="java" contentType="text/html; charset=GBK" pageEncoding="GBK"%> <jsp:useBean id="Mdata" class="message.MessageData" scope="page"> <jsp:setProperty name="Mdata" property="*"/></jsp:useBean> <jsp:useBean id="myBean" class="message.MessageBean" scope="page"/> <HTML><HEAD><TITLE> message into table </TITLE></HEAD> <BODY> <% try { myBean.setMessage(Mdata); myBean.addMessage(); } catch(Exception e) { e.printStackTrace();} %> <jsp:forward page="viewMessages.jsp" /> </body></html></span>
<span style="font-size:16px;">MessageData.java package message; public class MessageData { private String name,email,title,content; //setter或者getter方法 public void setName(String name){this.name=name;} public void setEmail(String email){ this.email=email;} public void setTitle(String title){ this.title=title;} public void setContent(String content){this.content=content;} public String getName(){ return this.name;} public String getContent(){ return this.content;} public String getTitle(){ return this.title;} public String getEmail(){ return this.email;}}</span>
<span style="font-size:16px;">MessageBean.java package message; import java.sql.*; //引入java.sql包 import java.util.*; public class MessageBean { private Connection con; MessageData msg; public MessageBean() { String JDriver="com.mysql.jdbc.Driver"; //定义驱动程序对象 String userName="root"; //定义数据库用户名 String userPasswd=""; //定义数据库存取密码 String dbName="message"; //定义数据库名 String conURL="jdbc:mysql://localhost:3306/"+dbName; try{Class.forName(JDriver).newInstance(); //加载JDBC驱动程序 con=DriverManager.getConnection(conURL,userName,userPasswd); //连接数据库 } catch(Exception e){System.err.println(e.getMessage());} } public void setMessage(MessageData msg) {this.msg=msg;} // 添加一条留言消息 public void addMessage()throws Exception { try{ byte b1[]=msg.getTitle().getBytes("ISO-8859-1"); String ti=new String(b1); byte b2[]=msg.getName().getBytes("ISO-8859-1"); String na=new String(b2); byte b3[]=msg.getEmail().getBytes("ISO-8859-1"); String em=new String(b3); byte b4[]=msg.getContent().getBytes("ISO-8859-1"); String c=new String(b4); PreparedStatement stm=con.prepareStatement( "insert into messagetable values(?,?,?,?)"); stm.setString(1,ti); stm.setString(2,na); if((msg.getEmail()).length()==0)stm.setString(3,""); else stm.setString(3,em); stm.setString(4,c); try {stm.execute(); stm.close(); } catch(Exception e) { } con.close(); //关闭数据库连接 } catch(Exception e){ e.printStackTrace(); throw e;} } // 获得所有留言消息,并返回结果到JSP页面 public Collection<MessageData> getAllMessage()throws Exception { Collection<MessageData> ret=new ArrayList<MessageData>(); try{ Statement stm=con.createStatement(); ResultSet result=stm.executeQuery( "select count(*) from messagetable"); int message_count=0; if(result.next()){ message_count=result.getInt(1); result.close(); } if(message_count>0) { result=stm.executeQuery("select * from messagetable "); while(result.next()) { String title=result.getString("title"); String name=result.getString("name"); String email=result.getString("email"); String content=result.getString("content"); MessageData message=new MessageData(); message.setTitle(title); message.setName(name); message.setEmail(email); message.setContent(content); ret.add(message); } result.close(); stm.close(); } con.close(); } catch(Exception e) { e.printStackTrace(); throw e; } return ret; } }</span>
Un forum de messages avec des fonctions simples, mais qui illustre clairement la technologie JSP JavaBean, je crois cet exemple peut nous aider à mieux comprendre les principes de cette technologie.
Ce qui précède est l'interface utilisateur simple Java implémentant la fonction de forum de messages Java. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide du nombre parfait en Java. Nous discutons ici de la définition, comment vérifier le nombre parfait en Java ?, des exemples d'implémentation de code.

Guide du générateur de nombres aléatoires en Java. Nous discutons ici des fonctions en Java avec des exemples et de deux générateurs différents avec d'autres exemples.

Guide de Weka en Java. Nous discutons ici de l'introduction, de la façon d'utiliser Weka Java, du type de plate-forme et des avantages avec des exemples.

Guide du nombre de Smith en Java. Nous discutons ici de la définition, comment vérifier le numéro Smith en Java ? exemple avec implémentation de code.

Dans cet article, nous avons conservé les questions d'entretien Java Spring les plus posées avec leurs réponses détaillées. Pour que vous puissiez réussir l'interview.

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Guide de TimeStamp to Date en Java. Ici, nous discutons également de l'introduction et de la façon de convertir l'horodatage en date en Java avec des exemples.

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4
