《Servlet与JSP核心编程第二版》阅读记录002-第一个servlet示例程序

1 新建目录,用于保存相关练习代码

    D:\java_project\servlet_practice 保存整个练习过程代码的根目录

    D:\java_project\servlet_practice\src\java 保存JAVA代码

    D:\java_project\servlet_practice\src\jsp  保存JSP代码

    D:\java_project\servlet_practice\dist 保存打包jar文件

    D:\java_project\servlet_practice\WEB-INF  web相关文件

    D:\java_project\servlet_practice\WEB-INF\web.xml 配置文件

    D:\java_project\servlet_practice\WEB-INF\classes class文件

    D:\java_project\servlet_practice\build.xml 项目编译ant配置文件

2 修改tomcat配置文件

    D:\java_project\tomcat-4.1.24\conf\server.xml 增加以下内容:

        <Context path="" docBase="D:\java_project\servlet_practice" debug="0" reloadable="true">
        
        </Context>

3 新建无package文件  HelloServlet.java

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

/** 20150825
 */

public class HelloServlet extends HttpServlet {
  public void doGet(HttpServletRequest request,
                    HttpServletResponse response)
      throws ServletException, IOException {
    response.setContentType("text/html");
    PrintWriter out = response.getWriter();
    String docType =
      "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 " +
      "Transitional//EN\">\n";
    out.println(docType +
                "<HTML>\n" +
                "<HEAD><TITLE>Hello</TITLE></HEAD>\n" +
                "<BODY BGCOLOR=\"#FDF5E6\">\n" +
                "<H1>Hello Servlet! cuigh</H1>\n" +
                new java.util.Date() +
                "</BODY></HTML>");
  }
}

4 新建ANT编译配置文件build.xml

<?xml version="1.0"?>
<project default="dist" name="Project Argon">
    <description>Servlet练习程序ANT CUIGH 20150825</description>
    <!-- 定义源代码目录 src -->
    <property name="srcDir" location="src\java"/>
    <!-- 定义编译后class存放目录 WEB-INF/classes -->
    <property name="buildDir" location="WEB-INF/classes"/>
    <!-- 定义打包目录 src -->
    <property name="distDir" location="dist"/>
    <!-- 定义编译时引用的 jar 包 -->
    <path id="servletlib.path">
        <pathelement location="D:\java_project\tomcat-4.1.24\common\lib\servlet.jar"/>
    </path>
    
    <target name="init">
        <tstamp/>
        <mkdir dir="${buildDir}"/>
        <mkdir dir="${distDir}"/>
    </target>    
    
    <target name="compile" depends="init">
        <javac srcdir="${srcDir}" destdir="${buildDir}">
            <classpath refid="servletlib.path"/>
        </javac>    
    </target>
    
    <target name="dist" depends="compile">
        <jar destfile="${distDir}/package-${DSTAMP}.jar" basedir="${buildDir}">
            <manifest>
            <attribute name="Built-By" value="${user.name}"/>
            <attribute name="Main-Class" value="package.Main"/>
            </manifest>
        </jar>
        <jar destfile="${distDir}/package-src-${DSTAMP}.jar" basedir="${srcDir}"/>
    </target>
    
    <target name="clean">
    
        <delete dir="${buildDir}"/>
        
        <delete dir="${distDir}"/>
    </target>
    
</project>

5 在web.xml文件中增加servlet配置

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>
  <display-name>Welcome to Tomcat</display-name>
  <description>
     Welcome to Tomcat
  </description>
 
  <servlet>
    <servlet-name>HelloServlet</servlet-name>
    <servlet-class>HelloServlet</servlet-class>
  </servlet>
 
  <servlet-mapping>
    <servlet-name>HelloServlet</servlet-name>
    <url-pattern>/HelloServlet</url-pattern>
  </servlet-mapping>
</web-app>

6 执行ANT命令,查看运行结果


D:\java_project\servlet_practice>ant
Buildfile: build.xml

init:

compile:
    [javac] Compiling 1 source file to D:\java_project\servlet_practice\WEB-INF\
classes

dist:
      [jar] Building jar: D:\java_project\servlet_practice\dist\package-20150826
.jar
      [jar] Building jar: D:\java_project\servlet_practice\dist\package-src-2015
0826.jar

BUILD SUCCESSFUL
Total time: 0 seconds
D:\java_project\servlet_practice>


运行结果如下:

地址栏输入:http://127.0.0.1:8080/HelloServlet

Hello Servlet! cuigh

Wed Aug 26 15:13:30 CST 2015


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我可以为您提供一个简单的JSP程序,实现成绩记录的录入、显示与统计的应用。 首先,我们需要创建一个JavaBean类,用于存储学生的成绩记录。以下是一个简单的示例: ``` public class GradeRecord { private String name; private double grade; public String getName() { return name; } public void setName(String name) { this.name = name; } public double getGrade() { return grade; } public void setGrade(double grade) { this.grade = grade; } } ``` 接下来,我们需要创建一个Servlet,用于处理用户输入的成绩记录,并将其存储在JavaBean中。以下是一个简单的示例: ``` @WebServlet("/grade") public class GradeServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String name = request.getParameter("name"); double grade = Double.parseDouble(request.getParameter("grade")); GradeRecord record = new GradeRecord(); record.setName(name); record.setGrade(grade); HttpSession session = request.getSession(); List<GradeRecord> records = (List<GradeRecord>) session.getAttribute("records"); if (records == null) { records = new ArrayList<GradeRecord>(); } records.add(record); session.setAttribute("records", records); response.sendRedirect("grade.jsp"); } } ``` 在这个示例中,我们从用户提交的表单中获取学生的姓名和成绩,并存储在JavaBean中。然后,我们将JavaBean存储在Session中,以便在后续的请求中可以访问它。 最后,我们需要创建一个JSP页面,用于显示所有学生的成绩记录,并计算平均成绩。以下是一个简单的示例: ``` <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.util.List" %> <%@ page import="javax.servlet.http.HttpSession" %> <%@ page import="com.example.GradeRecord" %> <% HttpSession session = request.getSession(); List<GradeRecord> records = (List<GradeRecord>) session.getAttribute("records"); double total = 0; int count = 0; for (GradeRecord record : records) { total += record.getGrade(); count++; } double average = count > 0 ? total / count : 0; %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>成绩统计</title> </head> <body> <h1>成绩统计</h1> <form action="grade" method="post"> <label for="name">姓名:</label><input type="text" name="name"><br> <label for="grade">成绩:</label><input type="text" name="grade"><br> <input type="submit" value="提交"> </form> <hr> <h2>成绩列表</h2> <table> <tr> <th>姓名</th> <th>成绩</th> </tr> <% for (GradeRecord record : records) { %> <tr> <td><%= record.getName() %></td> <td><%= record.getGrade() %></td> </tr> <% } %> </table> <hr> <h2>成绩统计</h2> <p>总成绩:<%= total %></p> <p>平均成绩:<%= average %></p> </body> </html> ``` 在这个示例中,我们首先从Session中获取所有的成绩记录,并计算总成绩和平均成绩。然后,我们通过一个简单的HTML表单允许用户提交新的成绩记录,并通过一个HTML表格显示所有的成绩记录。最后,我们在页面底部显示总成绩和平均成绩。 这就是一个简单的JSP程序,实现成绩记录的录入、显示与统计的应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值