Head First Servlet&JSP MVC实战

写书上Servlet的例子,用的eclipse,虽然是照着书的,但也遇到了挺多问题的

比如说 xml的版本,以及Java版本,然后文件目录怎么放

 

首先需要你下载好eclipse以及tomcat,jdk软件

 

第一步:eclipse创建动态网页

File —> New —> Dynamic Web Project

如果New后 没有 发现 动态网页 就点 other 中输入, 即可找到

填个名字然后依次默认即可

 

 

  

第二步:创建form.html

我的project名为: webtest

默认生成了这些文件

 

 

然后在WebContent下面建立form.html

然后就是书上的form.html内容

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta charset="UTF-8">
        <title>Project2</title>
    </head>
    <body>
        <h1 align="center">Beer Selection Page</h1>
            <form method="post"
                 action="SelectBeer.do">
                 <p> Select beer characteristics</p>
                         Color:
                         <select name="color" size="1">
                                <option>light
                               <option>amber
                              <option>brown
                               <option>dark 
                         </select>
                         <br><br>
                     <center>
                        <input type="SUBMIT">
                     </center>
        </form>
    </body>
</html>

 

 

 

 

 

第三步:写servlet   BeerSelect.java 和 model BeerExpert.java

在src中创建包,形成下面这样的结构

 

点击这个小三角

然后选择 Packge Prensentation: Hierarchical

然后就建立  比如说建立 web这个包  他的名字就叫  com.examole.web

 

在web包中建立BeerSelect.java

在model包中建立 BeerExpert.java

BeerSelect.java

package com.example.web; //包名

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.example.model.BeerExpert;


public class BeerSelect extends HttpServlet{ //继承了HttpServlet

    public void doPost(HttpServletRequest request,
                        HttpServletResponse response) 
                            throws IOException, ServletException{ 
        
        String c = request.getParameter("color"); //获取请求中的color属性
        BeerExpert be = new BeerExpert();
        List result = be.getBrands(c);
        
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        out.print("Beer Selection Advice <br>");
        
        Iterator it = result.iterator();
        while(it.hasNext()) {
            out.print("<br> try: " + it.next());
        }
   
    }
}

 

BeerExpert.java

package com.example.model; //包名

import java.util.ArrayList;
import java.util.List;

public class BeerExpert{
    public List getBrands(String color){ //返回一个List列表
        List<String> brands = new ArrayList<>();
        if(color.equals("amber")){ 
            brands.add("Jack Amber");
            brands.add("Red Moose");
        }else{
            brands.add("Jail Pale Ale");
            brands.add("Gout Stout");
        }
        return brands;
    }
}

 

 

 

 

 

 

第四步:配置xml文件

xml文件在WebContent - WEB-INF 下面

 

新建的xml文件,如果是表格点击代码框框下面的 source

 

配置xml要注意这个J2EE版本,即代码加粗部分,不同版本的头部不同。

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                      http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
  version="3.1">
  <servlet>
    <servlet-name>Ch3 Beer</servlet-name>
    <servlet-class>com.example.web.BeerSelect</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>Ch3 Beer</servlet-name>
    <url-pattern>/SelectBeer.do</url-pattern>
  </servlet-mapping>
</web-app>

 

Project -》Properties 然后查看Dynamic Web Module 的版本号 我的就是3.1

 

部分J2EE和Web版本的对应关系 
J2EE 7 –> Web 3.1 
J2EE 6 –> Web 3.0 
J2EE 5 –> Web 2.5

 

 

 

 

 

 

第五步:配置tomcat文件中的内容

 

去到tomcat文件夹

 

进入webapps中,新建一个文件夹,就是关于你这个项目的,我叫WebTest

 

 

将你的java文件中WebContent的META-INF,WEB-INF, form.html移动到WebTest中

 

然后将Build中的Class移动到WEB-INF中去

   

Web-INF中

 

 

最后tomcat的WebTest文件夹如下 

   

 

   

  

在form.html选择tomcat运行

结果图

 

 

 

 

 

完成!

注意,如果你是第一次下载tomcat就去捜一下 Eclipse和Tomcat连接,需要buildpath等一些操作。。。

如果你遇到了这个问题:Java compiler level does not match the version of the installed Java project facet

如果有帮助请点个赞,然后有问题可以评论。

转载于:https://www.cnblogs.com/zoey686/p/11535990.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Head First Servlet/JSP》是一本非常受欢迎的电子书,它以有趣和易懂的方式介绍了有关ServletJSP的概念和技术。 这本书以轻松幽默的风格,通过有趣的故事和图表,深入讲解了ServletJSP的原理和用法。无论你是初学者还是有一定经验的开发者,这本书都能帮助你快速掌握这些技术。 《Head First Servlet/JSP》从基础概念开始介绍,包括Servlet容器、HTTP协议等。然后,它逐步引导读者了解如何开发动态的Web应用程序,包括如何处理表单、会话管理、数据持久化等。这本书通过实际的示例和练习,帮助读者深入理解这些概念,并且指导读者开发出功能强大的Web应用。 与其他技术书籍不同,《Head First Servlet/JSP》采用了一种更加互动和参与的方式。它使用了大量的图表、插图和练习,帮助读者更好地理解和记忆所学内容。书中的问答问题和拓展思维习题也能够锻炼读者的思维能力和解决问题的能力。 此外,这本书还涵盖了一些常见的开发工具和技术,如Eclipse和Tomcat服务器,以及MVC架构模式。通过学习这些工具和技术,读者可以更加高效和专业地开发ServletJSP应用。 总之,《Head First Servlet/JSP》是一本令人愉快和实用的电子书,它不仅教授了ServletJSP的知识,还能够激发读者的兴趣和学习动力。无论你是初学者还是有一定经验的开发者,这本书都能够帮助你提升技能,成为一名更加出色的Java Web开发者。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值