java-web/docs/tasks/chapter04-tasks.md

2.8 KiB
Raw Blame History

4. 基于Java的Web应用后端开发技术

任务目标

  • 实现一个简单的用户登录功能。
  • 使用Servlet技术处理用户的登录请求。
  • 理解MVC架构中的模型、视图和控制器的作用。
  • 学习如何在Servlet中处理HTTP请求和响应。

任务描述

使用Servlet技术来实现一个用户登录功能。用户首先需要在登录页面输入用户名和密码然后Servlet会验证这些信息是否正确。如果登录成功则显示欢迎信息如果失败则显示错误提示。

技术栈

  • Java Servlet
  • HTML
  • JavaBean (可选)
  • Apache Tomcat 作为Servlet容器

任务步骤

  1. 创建项目
    • 使用IntelliJ IDEA创建一个新的Java项目。
    • 根据servlet项目要求创建目录和文件。
project_name
   |-- src
   |-- webapp
     |-- WEB-INF
         |-- classes
             |-- (源码编译后的class文件)
         |-- lib
             |-- (第三方库的jar文件)
         |-- web.xml
     |-- index.jsp
     |-- other.jsp
     |-- css
         |-- style.css
     |-- js
         |-- script.js
     |-- images
         |-- logo.png
  • 在IDEA中对项目进行必要的设置例如JDK版本、class文件输出路径等。
  1. 编写登录页面 (login.jspwelcome.jsp)

  2. 创建Servlet (LoginServlet.java)

  3. 配置Servlet (web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         id="WebApp_ID" version="3.1">

    <servlet>
        <servlet-name>com.lk.webapp.servlets.LoginServlet</servlet-name>
        <servlet-class>com.lk.webapp.servlets.LoginServlet</servlet-class>
    </servlet>
    

    <servlet-mapping>
        <servlet-name>com.lk.webapp.servlets.LoginServlet</servlet-name>
        <url-pattern>/LoginServlet</url-pattern>
    </servlet-mapping>
   

</web-app>
  1. 部署项目

    • 将项目导出为WAR文件。 在idea中打开控制台
    cd webapp
    jar cvf my.war  -C . .    
    
  2. 测试

    • 访问 http://localhost:8080/my/login.jsp
    • 输入用户名和密码,提交表单

扩展任务

  • 使用JavaBean: 创建一个User类来封装用户名和密码并在Servlet中使用这个类。
  • 添加错误页面: 创建一个错误页面,在登录失败时重定向到该页面。