生活随笔
收集整理的這篇文章主要介紹了
servlet与jsp的联系与区别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
jsp servlet的區別和聯系 ?
簡單的說,SUN首先發展出SERVLET,其功能比較強勁,體系設計也很先進,只是,它輸出HTML語句還是采用了老的CGI方式,是一句一句輸出,所以,編寫和修改HTML非常不方便。 后來SUN推出了類似于ASP的鑲嵌型的JSP,把JSP TAG鑲嵌到HTML語句中,這樣,就大大簡化和方便了網頁的設計和修改。新型的網絡語言如ASP,PHP,JSP都是鑲嵌型的SCRIPT語言。
?
?
JSP 在本質上就是SERVLET,但是兩者的創建方式不一樣.
Servlet完全是JAVA 程序 代碼 構成,擅長于流程控制和事務處理,通過Servlet來生成動態網頁很不直觀.
JSP由HTML代碼和JSP標簽構成,可以方便地編寫動態網頁. 因此在實際 應用 中采用Servlet來控制業務流程,而采用JSP來生成動態網頁.
在struts框架中,JSP位于MVC 設計 模式的視圖層,而Servlet位于控制層.
?
JSP是Servlet技術的擴展,本質上就是Servlet的簡易方式。
JSP編譯后是“類servlet”。
Servlet和JSP最主要的不同點在于,Servlet的應用邏輯是在Java文件中,并且完全從表示層中的HTML里分離開來。而JSP是Java和HTML組合成一個擴展名為.jsp的文件。
JSP側重于視圖,Servlet主要用于控制邏輯。
看一個簡單的jsp+servlet的例子,消化消化:轉載自:http://hi.baidu.com/wy521ly/blog/item/0523092af322b19d033bf648.html
?
簡單jsp+servlet實例 2008-09-02 20:24
開發環境myeclipse+tomcat5
先創建web project,項目名為test,
在webroot 目錄下創建login.jsp文件
login.jsp
<body> ????? <form action="login"> ????? username:<input type="text" name="username"><br> ????? password:<input type="password" name="pwd"><br> ????? <input type="submit">? ????? </form> ???? </body>
在scr目錄下的com.ht.servlet
編寫AcountBean.java文件
package com.ht.servlet;
public class AcountBean { private String username=""; private String password=""; public String getPassword() { ???? return password; } public void setPassword(String password) { ???? this.password = password; } public String getUsername() { ???? return username; } public void setUsername(String username) { ???? this.username = username; } }
編寫servlet類CheckAccount.java文件
package com.ht.servlet;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.http.*;
public class CheckAccount?extends HttpServlet ?{
public void doGet(HttpServletRequest request, HttpServletResponse response) ????? throws ServletException, IOException { ?????HttpSession session = request.getSession(); ???? AcountBean account = new AcountBean(); ???? String username = request.getParameter("username"); ???? String pwd = request.getParameter("pwd"); ???? account.setUsername(username); ???? account.setPassword(pwd); ?????if ((username != null) && (username.trim().equals("jsp"))) { ????? if ((pwd != null) && (pwd.trim().equals("1"))) { ?????? System.out.println("session"); ?????? session.setAttribute("account", account); ?????? String logon_suc = "session.jsp"; ???????response.sendRedirect(logon_suc); ?????? return; ????? } ???? } ???? String logon_fail = "fail.jsp"; ???? response.sendRedirect(logon_fail); ???? return; }
public void doPost(HttpServletRequest request, HttpServletResponse response) ????? throws ServletException, IOException {
???? doGet(request, response); }
}
在webroot目錄下
編寫session.jsp文件 成功后跳轉
???? <body> ?????<% com.ht.servlet.AcountBean account=(com.ht.servlet.AcountBean)session.getAttribute("account"); ????? %> ????????username: <%=account.getUsername() %> ?????? <br> ?????? password:<%=account.getPassword() %> ???? </body>
編寫fail.jsp文件 失敗后跳轉
<body> ?????? Logon Failed <br> ???? </body>
下面是web.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4"? xmlns="http://java.sun.com/xml/ns/j2ee"? xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"? xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee? http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> ???? <welcome-file-list><welcome-file>login.jsp</welcome-file></welcome-file-list> ?? ?? ???? <servlet> ??????????? <description>This is the description of my J2EE component</description> ?????? <display-name>This is the display name of my J2EE component</display-name> ???????? <servlet-name>CheckAccount</servlet-name> ?????? <servlet-class>com.ht.servlet.CheckAccount</servlet-class> ???? </servlet>
???? <servlet-mapping> ?????? <servlet-name>CheckAccount</servlet-name> ?????? <url-pattern>/login</url-pattern> ???? </servlet-mapping> </web-app>
通過myeclipse運行 配置tomcat???? 這里省略。。。
http://127.0.0.1:8080/tset/?驗證察看結果
轉載于:https://www.cnblogs.com/zxw0004/p/5008230.html
《新程序員》:云原生和全面數字化實踐 50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔 為你收集整理的servlet与jsp的联系与区别 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。