當前位置:首頁 » 網頁前端 » java最簡單的web
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

java最簡單的web

發布時間: 2022-05-29 12:58:22

㈠ javaweb三大框架中,哪種最簡單,你覺得

從使用簡單角度來說hibernate貌似很簡單,但你要是真正的理解hibernate,也不是那麼容易的,struts就是以控制器,也沒什麼的,裡面的驗證之類的東西也基本上不怎麼用,應為都是ajax的封裝,一般做界面的用ajax就行了,spring思想很簡單,但用起來就沒那麼容易了,需要世紀的經驗才行

㈡ 如何用Java實現一個簡單的單頁面Web Crawler

本Guide利用Eclipse以及Ant建立一個簡單的Web Service,以演示Web Service的基本開發過程:

1.系統條件:
Eclipse Java EE IDE for Web Developers
Java SE 6
Windows XP
2.基本環境搭建:
1)Java SE6 JDK的安裝:下載Java SE6 JDK,雙擊,安裝默認選項進行安裝即可。
2)Eclipse的安裝與配置:
安裝時直接解壓。
配置處有兩點,Window>Preferences>Java>Installed JREs確保如下設置:

安裝路徑可能略有不同。
Window>Preferences>Java>Compiler 確保如下設置:

3.建立Server端工程和相關包與類:
創建一個Java Project,命名為wsServerHelloWorld:

在這個項目下建立包:org.gnuhpc.wsServer

在這個包下邊建立類:SayHello

在SayHello.java文件中輸入以下代碼:
package org.gnuhpc.wsServer;
import javax.jws.WebService;
@WebService
public class SayHello {
private static final String SALUTATION = "Hello";
public String getGreeting(String name) {
return SALUTATION + " " + name;
}
}
其中注意到@WebService ,這個稱作annotation或者metadata,Java SE 5中的Web Services Metadata Specification引入的。Java SE 6中對於Web Services規范的升級以及JAX-WS(Java API for XML Web Services)2.0規范,這些升級使得我們Web Services的創建和調用變得更加容易。使用這些新功能,我們可以僅僅使用簡單的Annotations注釋從一個Java類創建Web Services。開發者將其類和方法之前用該annotations指定,類告訴runtime engine以Web Service的方式和操作來使能該類和方法。這個annotations可以產生一個可布署的Web Service,是一個WSDL映射annotations,將Java源代碼與代表Web Service的WSDL元素連接在了一起。

4.使用Ant產生Server端代碼:
首先在項目中新建一個文件:build.xml,然後使用OpenWith>AntEditor打開,輸入以下腳本代碼:

<project default="wsgen">
<target name="wsgen">
<exec executable="wsgen">
<arg line="-cp ./bin -keep -s ./src -d ./bin
org.gnuhpc.wsServer.SayHello"/>
</exec>
</target>
</project>

default指定了默認執行的Target為wsgen,wsgen可以創建一個能夠使用WebService的類,它生成所有用於WebService發布的源代碼文件和經過編譯過的二進制類文件。它還生成WSDL和符合規范的該類的WebService。
Target名稱為wsgen,具體執行的命令的參數:
-cp 為類路徑
-keep後產生的java文件
-s 產生的源文件放在哪
-d 產生的輸出問價放在哪

然後使用Ant Build選項運行:

在成功執行的提示後,我們刷新一下Project

我們在Project區域可以看到,結果如下:

5.分布Web Service
org.gnuhpc.wsServer下建立一個類RunService:
package org.gnuhpc.wsServer;
import javax.xml.ws.Endpoint;
public class RunService {
/**
*@paramargs
*/
public static void main(String[] args) {
System.out.println("SayHello Web Service started.");
Endpoint.publish("http://localhost:8080/wsServerExample" ,
new SayHello());
}
}
運行Run As>Java Application。我們得到結果,說明這個web service的Server端已經啟動。

6.查看WSDL:
Window>Show View>Other>General>Internal Web Browser,在其中輸入:http://localhost:8080/wsServerExample?wsdl

你可以看看到底WSDL都記錄了哪些信息。看完後可以停止該Server。
7.監測Server
我們創建完Server可以用過Eclipse Web Services Explorer監測Server,
Window>Open Perspective>Other >JavaEE

打開Eclipse Web Services Explorer

點擊右上角的WSDL Page按鈕:

單擊WSDL Main,在URL中輸入:http://localhost:8080/wsServerExample?wsdl 按Go按鈕後出現一下視圖:

我們可以觸發一個Web Service操作:點擊getGreetings,添加一個參數,比如gnuhpc,然後點擊Go按鈕:

8.創建Client端 工程和相關包與類:
創建一個Java Project,命名為wsClientHelloWorld,在這個項目下建立包:org.gnuhpc.wsClient

9.使用Ant產生Client代碼框架:
編寫Web service時,可以使用工具來利用WSDL生成進行調用的客戶端樁;或者也可以使用底層API來手動編寫Web service。前者方便,後者靈活,現在我們通過前者做說明:
新建文件build.xml
New>File>build.xml

<project default="wsimport">
<target name="wsimport">
<exec executable="wsimport">
<arg line="-keep -s ./src -p org.gnuhpc.wsClient
-d ./bin http://localhost:8080/wsServerExample?wsdl"/>
</exec>
</target>
</project>

注意:wsgen 支持從 Java class 創建 Web services,wsimport 支持從 WSDL 創建 Web services,分別對應於 JAX-RPC 方式下的 Java2WSDL 和 WSDL2Java。要根據發布的WSDL進行創建,這也就是為什麼要先運行RunServer的原因了。
運行Server的RunService : Run As>Java Application>
運行該Ant腳本,產生Client代碼:Run As>Ant Build
運行成功的提示如下:

生成的代碼如下:

這一步讀取WSDL並生成客戶端樁。這些樁是將為我們的代碼所用的Java類和介面。這些樁給伺服器端功能提供了一個客戶端介面。例如,如果我們的伺服器提供一個Maths服務,該服務帶有一個叫做add的方法。我們的客戶端代碼將調用樁上的一個方法,而樁實現將對該方法使用參數封裝,把Java方法調用變為Webservice請求。這個請求將基於HTTP發送給伺服器,而且將使用SOAP作為RPC協議。監聽伺服器接收該SOAP消息,然後(十有八九)將其轉換為伺服器處的一次方法調用。

㈢ 如何編寫一個簡單的java web前後端實例

你說的是一個完整的BS請求--響應模式,很多種方式都可以實現,
最簡單的方法:寫一個 form 表單,然後配置servlet ,提交數據到servlet,在servlet中實現你的邏輯如你保存資料庫的操作,然後由servlet 轉發到jsp 頁面進行網頁響應就可以了。ITjob的朋友跟我分享過的,發給你了不用謝~

㈣ 超簡單的web瀏覽器用java實現

看看這個吧,https://github.com/xingxiant/WebBrowser

㈤ java開發一個簡單的web網頁的具體流程是什麼

web網頁的主要流程就是 從請求到響應,從jsp頁面的參數傳遞到後台的 控制層(action)再調用相應的服務層(service)進行處理,其中可能會用到數據層(),將處理後的結果響應給頁面,或是跳轉

㈥ 簡單粗暴,詳細得不要不要的 JavaWeb快速入門

1. 實驗環境准備
(假設你已經裝好了jdk,如果不會安裝jdk,請參考這篇文章)
1.1 安裝一個eclipse或者MyEclipse(本文以eclipse為例),其實所謂的安裝就是網上去下載一個eclipse,然後解壓一下就好了。
1.2安裝tomcat,網上下載一個,然後解壓一下。我這次使用的tomcat容器配的是8080埠。
1.3 將tomcat配置到eclipse中。具體步驟為:Window -- Preferences -- Server -- Runtime Environment -- Add 將tomcat解壓後的路徑配置上去就行了。
本文假設讀者已經對tomcat,eclipse有一定的了解。
2. 新建web項目
首先,一言不合就打開eclipse

Paste_Image.png
我們新建一個項目,File -- new -- Dynamic Web Project。
項目名稱是web,點擊Next

Paste_Image.png

Paste_Image.png
build\classes是默認的編譯目錄,還是點擊Next

Paste_Image.png
好的,最後點擊Finish,一個web項目就建立好了。
目錄結構

Paste_Image.png
2.啥叫JavaWeb項目,它能幹嘛?
JavaWeb項目就是一個應用程序,你不要以為它有多麼神秘。你每天打開的QQ就一個應用程序,你在手機上打開的微信,網路地圖等等,這些都是應用程序。
不同的是,QQ是一個本地客戶端程序,它需要你在自己的電腦上安裝一個客戶端,然後你打開QQ,可以登錄,聊天。
QQ肯定也分客戶端和服務端,我們電腦上裝的就是客戶端,你要知道的一點是,我們發送消息,發送到哪裡去了呢?
沒錯,肯定是發送到QQ的伺服器上了,那裡保存著我們的所有數據。
想想也不可能在本地,因為我們在電腦上發送的消息,在手機QQ上不是也能看到嗎?這就說明,肯定是上傳到它的伺服器然後保存下來了。
而Web項目是什麼呢?
它也是一個應用程序,只不過它的客戶端是運行在瀏覽器上的。
我們打開瀏覽器,訪問一個地址,比如 http://www.jianshu.com/
這個就是我們的訪問路徑,我們通過這個URL向簡書的伺服器提交請求,然後伺服器進行處理,給你回應。
接下來,我們就看到出來一個網頁。
我們在這個網頁上可以寫文章,點贊,收藏,等等。
我們的每一步操作,其實都和伺服器做了一個交互。
比如一個登錄功能,當我們滑鼠點擊那個登錄按鈕,瀏覽器就向伺服器提交了一個請求,伺服器進行處理,然後操作資料庫。最終,它會得出一個結果,就是說,到底能不能讓你登錄,總會有個說法。
如果你密碼寫錯了,它可能就會得出一個用戶名或密碼錯誤的結論。然後,這個信息會從伺服器返回到前台,前台就是瀏覽器。
所謂的前台就是你的瀏覽器,沒什麼神秘的。
前台接受到後台傳過來的信息後,進行一些處理,然後給你個提示,比如,告訴你用戶名或密碼錯誤。
這就是一個完整的交互過程。
現在隨著網速越來越好,瀏覽器的性能越來越強大,我想web肯定是未來的大趨勢。畢竟,誰都不希望在電腦上安裝一大堆客戶端吧。
只用一個瀏覽器多好。
有了web,我只需要有一個瀏覽器,然後就能通過互聯網獲取我想要的資源了。這樣不是很美妙嗎?
近幾年H5非常流行,尤其是移動端,因為手機瀏覽器基本上都支持css3。一樣的道理,我們肯定也不希望在手機上安裝一大堆應用,卡都卡死了,如果能直接訪問一個網頁,就能獲得我想要的服務就好了。
而且現在WIFI也普遍了,如果以後流量能沒有限制,那麼APP的熱度很可能會逐漸被web取代。
當然,現在是不太可能的,畢竟訪問網頁要流量啊,而我在手機上安裝了APP,就好像電腦的QQ一樣,大部分資源文件就在我本地,我不需要每次都去聯網下載。比如圖片,app就沒事,因為就在本地,可是如果用web,我每次訪問那個網頁,就需要把圖片重新下載一遍。這樣不是很浪費流量嗎?
3. 手工搭建web項目
現在,為了說明伺服器和web項目的概念,我們先不用eclipse,來手工搭建一個web項目。
伺服器,正常情況下就是一台配置高一點的電腦,除非是那種大型的專用伺服器。
一般來說,所謂的伺服器,就是電腦。
比如我現在有一台電腦,給他裝了一個linux系統或者windos系統,然後我說,好了,從今以後,這就是伺服器了。現在伺服器一般都是用linux系統的。
那麼tomcat又是什麼?
tomcat其實也是一個應用程序,你網上下載的tomcat往往是一個壓縮包,然後我們解壓以後就相當於安裝好了。
可以這么理解:
伺服器就是一台電腦,而tomcat是一個容器,專門存放web項目的容器。
以下我都將tomcat稱為tomcat容器。
我們看到在tomcat容器根目錄下,有一個webapps文件夾
裡面是這樣的:

Paste_Image.png
好的,現在我要發布一個項目了,我只需要把一個已經做好的web項目往裡面一丟就行了。
除了webapps,我們還發現一個bin目錄。一般來說,可執行的文件都放在bin目錄下。

Paste_Image.png
打開bin,找到一個startup.bat文件。這就是啟動tomcat的東西,雙擊它,tomcat就被啟動了。
然後,瀏覽器可以訪問tomcat裡面的項目。
現在我們來手工搭建一個web項目,首先,在webapps目錄下新建一個文件夾,是的,就是文件夾,不管你項目是什麼,肯定還是放在文件夾裡面的。

Paste_Image.png
項目名稱就叫做webapp。
打開webapp,根據web項目的規范,我們需要有一個WEB-INF文件夾。

Paste_Image.png
然後,在WEB-INF文件夾裡面,必須要有一個web.xml文件。
xml文件,就是一個描述性的文件,我現在的觀點如下:
XML = JavaBean = Json = HashMap
它無非就是描述一些東西,保存一些數據而已。
好的,我們在裡面新建一個web.xml。這個文件非常重要,正因為它的存在,tomcat容器才會知道這個文件夾裡面竟然是一個web項目。
否則,tomcat容器是不知道這個web項目的,它只會將myapp文件夾看做是一個文件夾而已。

Paste_Image.png
我們用記事本打開web.xml,將以下代碼拷貝進去。
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<display-name>web</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>

<?xml version="1.0" encoding="UTF-8"?>表示這是一個1.0版本的XML文件,編碼為UTF-8。
<web-app></web-app>就是這個XML文件的一個根節點,就是告訴你,我這個xml文件裡面,有一個東西叫做web-app。
XML的一個作用就是配置文件,web.xml本身就是一個配置文件。在web項目中,我們應用xml最多的也就是配置一些參數。
配置參數,就是給屬性賦值嘛,沒什麼神秘的。
包括我們學習JavaSE,歸根到底,一直在做的一件事就是new對象,然後調用方法,調用方法的目的一方面是做一些事情,另一方面不還是給屬性賦值嘛。
你可以把web.xml看做是一個java類,類名叫做 webApp。它裡面有兩個屬性,分別是display-name和welcome-file-list。
display-name是發布名稱,也就是項目的名字。
welcome-file-list 是歡迎頁面,就是說,當你在瀏覽器直接訪問這個myapp項目,默認跳轉的頁面。
想像一下,應該會變得非常好理解。

㈦ 我想用java寫一個簡單的web server,應該怎麼寫呀

我原來寫過一個很簡單的,可以指定你存放網頁的文件夾,可以指定允許訪問的IP,給你源碼看看吧。public class WebServer {
static Button btReloadIP=new Button("更新合法IP列表");
static Button btAllow=new Button("允許此IP");
static Button btRepel=new Button("拒絕此IP");
static JTextField tfNewIP=new JTextField(20);
static JPanel pane=new JPanel();
static JTextField tfState=new JTextField(25);
static TextField tfURL=new TextField("G:\\webServer2\\",28);
static TextField tfPort=new TextField("10288",3);
static Button btStart=new Button("啟動伺服器");
static Button btStop=new Button("停止伺服器");
private static int IPnum=0;
public static boolean IPadmin=false;
static boolean click=false;
private static String url;
private static String[] checkIP=new String[255];
private static Thread serverThread=null;
private static Socket connectionSocket=null;
private static ServerSocket listenSocket=null;
public WebServer() throws IOException{
serverThread=new Thread(new Runnable(){
public void run(){
try {
listenSocket = new ServerSocket(Integer.parseInt(tfPort.getText()));
} catch (IOException e) { }
while(true){
try {
connectionSocket=listenSocket.accept();
@SuppressWarnings("unused")
webClient client=new webClient(connectionSocket);
} catch (IOException e) {
}
}
}
});
}
public static void main(String args[])throws Exception{
GUI();
}
public static void GUI(){
JFrame f=new JFrame("小白兔Web伺服器(BY 丁尋)");
f.setSize(300,200);
f.setLocation(500, 300);
f.getContentPane().add(pane,BorderLayout.CENTER);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
//不可以變大變小
f.setResizable(false);
pane.add(new JLabel("埠號:"));
pane.add(tfPort);
pane.add(btStart);
pane.add(btStop);
pane.add(new JLabel("配置路徑"));
pane.add(tfURL);
pane.add(tfState);
pane.add(new JLabel("新IP請求"));
pane.add(tfNewIP);
pane.add(btAllow);
pane.add(btRepel);
pane.add(btReloadIP); btStart.addActionListener(new Listener());
btStop.addActionListener(new Listener());
btAllow.addActionListener(new Listener());
btRepel.addActionListener(new Listener());
btReloadIP.addActionListener(new Listener());

}
static class Listener implements ActionListener {
@SuppressWarnings("deprecation")
public void actionPerformed(ActionEvent event) {
if(event.getActionCommand()=="啟動伺服器"){
try {
url=tfURL.getText();
readIP();
tfState.setText("伺服器已經啟動......地址:"
+InetAddress.getLocalHost().toString());
} catch (Exception e) {
e.printStackTrace();
} try {
new WebServer();
} catch (IOException e) {
e.printStackTrace();
} serverThread.start(); btStart.setEnabled(false);
tfPort.setEditable(false);
btStop.setEnabled(true);
tfURL.setEditable(false);
btReloadIP.setEnabled(true);
}
if(event.getActionCommand()=="停止伺服器"){
serverThread.stop();
tfState.setText("伺服器已經停止");
btStart.setEnabled(true);
tfPort.setEditable(true);
btStop.setEnabled(false);
tfURL.setEditable(true);
btReloadIP.setEnabled(false);
}
if(event.getActionCommand()=="允許此IP"){
IPadmin=true;
//serverThread.start();
click=true;
btAllow.setEnabled(false);
btRepel.setEnabled(false);
tfNewIP.setText(null);
}
if(event.getActionCommand()=="拒絕此IP"){
click=true;
IPadmin=false;
//serverThread.start();
btAllow.setEnabled(false);
btRepel.setEnabled(false);
tfNewIP.setText(null);
}
if(event.getActionCommand()=="更新合法IP列表"){
try {
readIP();
} catch (IOException e) {
// e.printStackTrace();
}
}
}
}

public static void readIP() throws IOException{
int i=0;
byte[] ips = new byte[65535];
File IPfile=new File(url+"checkIP.txt");
FileInputStream fileReader=new FileInputStream(IPfile);
fileReader.read(ips);
fileReader.close();
String strip=new String(ips);
StringTokenizer getIP=new StringTokenizer(strip,System.getProperty("line.separator"));

for(;;){
if(getIP.hasMoreTokens()){
checkIP[i]=getIP.nextToken();
System.out.println(checkIP[i]);
i++;
}
else{break;}
}
IPnum=i;

}
public static void disconnect(webClient c){

try {
//c.stop();
c.socket.close();
c.socket=null;
c=null; } catch (IOException e) {
e.printStackTrace();
}
//
}
class webClient extends Thread{
boolean check=true;
boolean send=false;
Socket socket;
BufferedReader inFromClient=null;
DataOutputStream outToClient=null;
String fileName;
String requestMessageLine;
StringTokenizer tokenizedLine=null;
FileInputStream inFile=null;
byte[] fileInBytes=null;
int numOfBytes=0;
File afile=new File(url+"log.html");
byte[] b;
public webClient(Socket s) throws IOException{
FileOutputStream out=new FileOutputStream(afile,true);
StringBuffer str=new StringBuffer();
SimpleDateFormat formatter=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String time=formatter.format(new Date());
socket=s;
str.append(time+" Client_IP:"+socket.getInetAddress().toString()+
" Client_Port:"+socket.getPort()+"<br>"+
System.getProperty("line.separator")
);
b=(new String(str)).getBytes();
System.err.println(new String(str));
out.write(b);
out.close();
inFromClient=new BufferedReader(new
InputStreamReader(socket.getInputStream()));
outToClient=new DataOutputStream(socket.getOutputStream());
if(!checkIP(socket)){
String strWait="<html>" +
"<title>等待驗證</title>" +
"<body>正在等待管理員驗證您的IP是否合法,請稍候......<br><br>" +
"(如果頁面沒有自動跳轉,請每5秒鍾刷新一次," +
"以判斷管理員是否已經允許您進入)</body>" +
"</html>";
byte[] waiting=strWait.getBytes();
outToClient.writeBytes("HTTP/1.1 200 Document Follows\r\n");
outToClient.writeBytes("Content-Type: text/html\r\n");
outToClient.writeBytes("Content-Length: "+waiting.length+"\r\n");
outToClient.writeBytes("\r\n");
outToClient.write(waiting,0,waiting.length);
if(!admin()){
return;
}
WebServer.IPadmin=false;
}
this.start(); }
public void receive() throws IOException{
while(socket!=null){
requestMessageLine=inFromClient.readLine();
if(requestMessageLine.length()==0){break;}
System.out.println(requestMessageLine);
tokenizedLine=new StringTokenizer(requestMessageLine);
if(tokenizedLine.hasMoreTokens()){
String strhead=tokenizedLine.nextToken();
if(strhead.equals("GET")){
send=true;
fileName=tokenizedLine.nextToken();
if(fileName.equals("/")){
fileName="index.html";
}
else if(fileName.startsWith("/")){
fileName=fileName.substring(1);
fileName=fileName.replace("%5C", "/");
fileName=fileName.replace("%20", " ");
//如果是文件 ,不要check
check=false;
}
}//endnexttoken
if(check){
if(strhead.equals("User-Agent:")){
if(requestMessageLine.contains("Firefox/3")){
System.err.println("true");
}
else{
System.err.println("false");
fileName="ERROR.html";
send=true;
}
}
}
//....
}//endhastoken
}//endwhile
if(send){
readFile();
send(fileInBytes, numOfBytes);
} }
public void send(byte[] fileInBytes,int numOfBytes) throws IOException{
outToClient.writeBytes("HTTP/1.1 200 Document Follows\r\n"); if(fileName.endsWith(".jpg")){
outToClient.writeBytes("Content-Type: image/jpg\r\n");
}
else if(fileName.endsWith(".gif")){
outToClient.writeBytes("Content-Type: image/gif\r\n");
}
else if(fileName.endsWith(".wmv")){
outToClient.writeBytes("Content-Type: video/x-ms-wmv\r\n");
}
else if(fileName.endsWith(".avi")){
outToClient.writeBytes("Content-Type: video/avi\r\n");
}
else if(fileName.endsWith(".html")||fileName.endsWith(".htm")){
outToClient.writeBytes("Content-Type: text/html\r\n");
}
outToClient.writeBytes("Content-Length: "+numOfBytes+"\r\n"); outToClient.writeBytes("\r\n");
outToClient.write(fileInBytes,0,numOfBytes);
}
//得到文件
public void readFile() throws IOException{
File file=new File(url+fileName);
b=(" Client_Request:"+fileName+"<br>"+
System.getProperty("line.separator")).getBytes();
FileOutputStream out=new FileOutputStream(afile,true);
out.write(b);
out.close();
numOfBytes=(int)file.length();
inFile=new FileInputStream(url+fileName);
fileInBytes=new byte[numOfBytes];
inFile.read(fileInBytes);
inFile.close(); }
public boolean checkIP(Socket skt){
for(int i=0;i<WebServer.IPnum;i++){
if(skt.getInetAddress().toString().equals(checkIP[i])){
return true;
}
}
return false;

}
public boolean admin() throws IOException{
WebServer.tfNewIP.setText("IP:"+socket.getInetAddress().toString()+
" PORT:"+socket.getPort());
WebServer.btAllow.setEnabled(true);
WebServer.btRepel.setEnabled(true);
while(!click){}
click=false;

if(WebServer.IPadmin){
File IPFile=new File(url+"checkIP.txt");
FileOutputStream appIP=new FileOutputStream(IPFile,true);
byte[] ips=(socket.getInetAddress().toString()+
System.getProperty("line.separator")).getBytes();
appIP.write(ips);
appIP.close();
//WebServer.readIP();
WebServer.checkIP[IPnum]=socket.getInetAddress().toString();
WebServer.IPnum++;
return true;
}
else{
WebServer.disconnect(this);
return false;
}
}

public void run(){
try {
receive();
} catch (IOException e) {
}
WebServer.disconnect(this);
}
}}

㈧ java構建最簡單的 Web Server

安裝一個tomcat就完事了…………
weblogic;websphere
類似
調用Hello JAVA頁面,嘿嘿
網上到處都是,偏你們老師跳神把要求寫得這么古里古怪,太學術了。

㈨ 用JAVA開發一個簡單的web需要哪些軟體

在實際開發中,我們都會有一個技術選型的過程,因為每個項目的要求不一樣,規模不一樣,要求的性能不一樣等等諸多因素,因此單獨說用什麼技術工具其實很難回答,一般都是看具體你們的項目需求來確定的,我就簡單說一說吧。
一、 開發工具
開發工具這一塊,首先是IDE,可以選擇免費的Eclipse,但是Eclipse比較耗內存,多開幾個你電腦估計內存就不夠用了,另外是IntelliJ IDEA, 這個是我現在使用的,比較推薦的一個IDE,代碼提示功能強大,很流暢,開多少個都可以。然後你要准備一下Notepad++或是VIM等編輯器。
二、後台技術框架
其實這么討論沒啥意義,就說個普通的吧,一般用Struts2, SpringMVC, Spring, Hibernate, MyBatis, 可以相互組合,常見的一般用SpringMVC + MyBatis,我們公司用的就是SpringMVC,這是大致的情況

如果要用緩存,可以選擇Redis或是Memcached,我們選擇了Redis

如果要用消息隊列,可以選擇ActiveMQ或是RabbitMQ等

如果想使用分布式鎖,可以使用Zookeeper或是Redis

。。。。。。

一句話,看你項目的具體需求來確定用什麼技術框架

㈩ javaWeb簡單的登錄操作

首先頁面請求後台,你應該沒用框架,在web.xml裡面配置下servlet。servlet-mapping 對應的就是你的請求地址。 可以直接用window.location.href="請求的地址?account="+account+"&password="+password 訪問地址拼接參數的方式,也可以用表單提交。表單提交可以採用post方式,更安全且對於請求的url也基本沒有長度限制。具體就是定義一個表單
<form id="myForm" action="請求的地址" method="post">
<input id="account" name="account" value="">
<input id="password" name="password" type="password" value="">
</form>
提交的話可以再加一個input type 是submit 或者js 直接用 $("#myForm").submit()方法