spring+servlet+jsp|软件架构技术实验一

什么是Servlet、JSP和Spring MVC? Servlet是Java Servlet的简称,它是一个用Java编写的服务器端程序,具有独立于平台和协议的特性,主要功能在于交互式地浏览和生成数据,生成动态Web内容。Servlet运行于支持Java的应用服务器中,可以响应客户端发送的请求,并根据请求内容动态地生成HTML、XML或其他格式文档的Web网页,然后返回给请求者。 阅读详情

文件结构

简单描述实验一中web工程的文件结构。
文件结构
com文件夹中放置各层类的代码,详细如下:
各层的类
本次实验使用的lib包括:
在这里插入图片描述
web页面包括:
web页面
主要讲解以下四个部分:

  1. com包中各类
  2. src/applicationContext.xml
  3. WEB-INF/web.xml
  4. jsp页面

1.com 中各类

domain层中是实体类,实体类包含一些属性及其setter、getter和String方法。
userDao使用Repository注解注入,userService使用ServIce注解注入。
SpringContextListener代码:

package com.servlet;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import javax.servlet.ServletContext;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class SpringContextListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        ServletContext context = sce.getServletContext();
//        定义配置信息
//        配置完web。xml再进行值的填写
        String config = context.getInitParameter("contextLocation");
//        获取application context对象
        ApplicationContext app = new ClassPathXmlApplicationContext(config);

        context.setAttribute("ApplicationContext",app);

    }
}

ServletTest3代码:

package com.servlet;

import com.domain.User;
import com.service.UserService;
import org.springframework.context.ApplicationContext;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;


@WebServlet("/ServletTest3")
public class ServletTest3 extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        ServletContext context = getServletContext();
        ApplicationContext app = (ApplicationContext) context.getAttribute("ApplicationContext");
        UserService userService = app.getBean("userService", UserService.class);
        User user = app.getBean("user",User.class);


        user.setName(request.getParameter("username"));
        user.setPassword(request.getParameter("password"));

        if(userService.login(user)==1){
//            out.println("login successfully...");
//            登录成功 重定向到success.jsp
            response.sendRedirect("/spring/success.jsp");

        }
        else{
//            out.println("login fail...");
//            登录失败 转发到error.jsp
            request.getRequestDispatcher("error.jsp").forward(request, response);
        }
    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doPost(request,response);
    }
}

2.src/applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
       
    <context:component-scan base-package="com"></context:component-scan>

    <bean id="user" class="com.domain.User">
            <property name="name" value="default_name"/>
            <property name="password" value="default_password"></property>
    </bean>
</beans>

compotent-scan用于注解注入。
user的是xml注入中的set方法注入。
该xml

3.WEB-INF/web.xml

<?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_4_0.xsd"
         version="4.0">
    <listener>
        <listener-class>com.servlet.SpringContextListener</listener-class>
    </listener>
    <context-param>
        <param-name>contextLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
    </context-param>
</web-app>
  1. 定义了listener的位置
  2. 定义了listener中contextlocation的位置

4.jsp页面

index.jsp

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>Spring Ioc实验</title>
  </head>
  <body>
<div align="center">
  <form action="ServletTest3" method="POST">
   用户名称:<input type="text" name="username">
    <br>
    密码:<input type="text" name="password" />
    <br>
    <input type="checkbox" name="auto_name"  /> 自动记录名称
    <br>
    <input type="checkbox" name="auto_psd"  /> 自动记录密码
    <br>
    <input type="submit" value="登录" /> <input type="submit" value="重置" />
  </form>
</div>
  </body>
</html>

html 居中

div align = "center"

method=POST处理POST的HTTP请求;br换行。

其他

不足:
没有使用接口
没有使用Junit测试

小技巧:
Alt+Insert 生成setter、getter和String方法。

Eclipse JSP/Servlet 深入解析 JSP 是一种动态网页技术,它将 HTML 与 Java 代码相结合,使开发者能够轻松地创建动态网页。JSP 页面由 HTML 标签和 JSP 标签组成,其中 JSP 标签负责执行 Java 代码。Eclipse JSP/Servlet 是 Java Web 开发中的重要技术,掌握它们对于 Java Web 开发者来说至关重要。本文对 Eclipse JSP/Servlet 进行了深入解析,希望对读者有所帮助。字数统计:约 2000 字SEO 优化。 阅读详情

相关推荐

【Spring学习笔记】servlet、jsp、mvc与spring mvc

Web前端开发发展历程 1、servlet—一种JavaEE web组件技术,是一种在服务器端执行的web组件,用于接收web用户请求并处理,最后动态产生响应给用户。但每次请求只产生一个线程(而且有线程池),轻量级。而且能利用许多JavaEE技术(如JDBC等)。本质就是在java代码里面 输出 html流。但表现逻辑、控制逻辑、业务逻辑调用混杂。 这种做法是绝对不可取的,控制逻辑、表现代码、业务...

十年磨一剑,沉淀…… 1973

基于javaweb+mysql的jsp+servlet宿舍管理系统(超级管理员、宿舍管理员、学生)(java+jsp+servlet+javabean+mysql+tomcat)

基于javaweb+mysql的jsp+servlet宿舍管理系统(超级管理员、宿舍管理员、学生)(java+jsp+servlet+javabean+mysql+tomcat)基于javaweb+mysql的JSP+Servlet宿舍管理系统(超级管理员、宿舍管理员、学生)(java+jsp+servlet+javabean+mysql+tomcat)超级管理员:登录退出、宿舍管理员管理、学生管理、宿舍楼管理、缺勤管理、修改密码。eclipse/idea/myeclipse/sts等均可配置运行。

m0_71414463的博客 1176

编程自学指南:java程序设计开发,Spring servlet实现与传统Web实现对比学习笔记,​传统的 Java Web 开发主要基于 Servlet 和 JSP技术。​

编程自学指南:java程序设计开发,Spring servlet实现与传统Web实现对比学习笔记,​传统的 Java Web 开发主要基于 Servlet 和 JSP技术。​Spring 是一个轻量级的 Java 开发框架,它提供了 IoC(控制反转)和 AOP(面向切面编程)等核心功能。

zl515035644的博客 1214

【Spring】Spring&WEB整合原理及源码分析

表现层和业务层整合: 1. Jsp/Servlet整合Spring; 2. Spring MVC整合SPring; 3. Struts2整合Spring; 本文主要介绍Jsp/Servlet整合Spring原理及源码分析。

厚积薄发者,轻舟万重山 5403

深入理解 JSP 与 Servlet:原理、交互及实战应用

加载:当客户端首次请求访问一个 Servlet 时,Web 容器(如 Tomcat)会查找该 Servlet 的类文件,并将其加载到内存中。实例化:Web 容器使用new关键字创建 Servlet 类的实例。通常情况下,一个 Servlet 类在整个 Web 应用程序的生命周期中只会被实例化一次。初始化:实例化之后,Web 容器会调用 Servlet 的init()方法进行初始化操作。该方法只会被调用一次,常用于加载配置文件、建立数据库连接等初始化工作。服务。

1279

jsp+servlet简单项目源码

了解jsp+servlet+数据库的基础简单项目源码

Spring扩展之servlet+jsp开发

1、Spring框架中使用Servlet、jsp开发需要包: 2、Spring配置文件的配置(Spring-web包): web.xml: <?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:x...

weixin_43708793的博客 424

北软实训jsp(Hibernate框架技术训练)实例

我自己的实训材料,给大家分享,Hibernate框架技术训练

JSP、Servlet和Spring MVC

今年刚接触JavaWeb的时候碰巧认识了一帮老师做后端的哥们,我俩平时用的最多的也都是Java。我:“老哥,我想给我那个项目做一个服务器应用程序,怎么搞啊”老哥:“Spring你知道吗”我:“听说过”老哥:“入下门”我:“好嘞”那会儿我俩在参加一个活动,也没细聊,有些内容我也记不住了,跟我讲了些前端的基本知识,还有就是我记住了Spring这个词。JSP、Servlet和Spring MVC的前世今...

菜鸟修仙记 1万+

JSP(WEB 开发技术)实验指导

实验一 JSP 开发环境 2 1.实验目的 2 2.实验内容 2 3.练习 4 实验二 生成简单动态网页 4 1.实验目的 4 2.实验内容 4 3.练习 8 实验三 JSP 基本语法 8 1.实验目的 : 8 2.实验内容: 8 实验四 处理客户端请求 15 1.实验目的: 15 2.实验内容 : 15 实验五 会话跟踪处理 18 1.实验目的: 18 2.实验内容: 18 3.作业: 20 实验六 基本 Servlet 开发 20 1.实验目的: 20 2.实验内容 : 20 3.作业: 22 实验七 JavaBean 使用 23 1.实验目的: 23 2.实验内容 : 23 实验八 Jsp 与数据库连接 25 1.实验目的: 25 2.实验内容 : 25 实验九 用户管理实现 32 1.实验目的: 32 2.需求分析 32 3.概要设计: 32 4.详细设计: 32 5.调试分析: 32 6.测试数据及结果分析 32 7.总结 32 实验十 商品管理实现 33 1.实验目的: 33 2.需求分析 33 3.概要设计: 33 4.详细设计: 33 5.调试分析: 33 6.测试数据及结果分析 33 7.总结 33

FFT中的精度博弈:定点数缩放、块浮点与溢出处理在Vivado IP核中的实践权衡

本文探讨了在Vivado FFT IP核中实现高精度快速傅里叶变换的关键技术,包括定点数缩放策略、块浮点模式及溢出处理机制。通过分析不同精度控制方案的资源开销与性能权衡,为工程师在医疗成像、雷达信号处理等高动态范围应用中优化FFT实现提供实践指导。

melon的博客 1097

深入理解Tomcat+Servlet+Spring+JSP(转载)

开发过web项目的同学估计会有如下几个疑问一直萦绕心头: 1)Tomcat是什么,为什么要用Tomcat啊? 2)Servlet是什么,为什么我用Spring压根没见过它? 3)Spring好神奇哦,谁能告诉我它是怎么实现的? 4)之前的人都用jsp,这个是什么东西哦? 5)为毛要用ajax啊,好像用ajax的地方就没有jsp勒耶? 如果这几个问题问到了你的心坎里了,那么请继续看!!! 1.从...

weixin_45013211的博客 484

Windows系统监控实战:Grafana+Prometheus+node_exporter保姆级配置指南(含常见问题解决)

本文提供了一份详尽的Windows系统监控实战指南,详细讲解了如何从零部署Grafana、Prometheus和node_exporter(实际为windows_exporter)监控栈。内容涵盖核心组件认知、分步配置解析、高级生产环境考量,并重点针对配置过程中常见的“No Data”问题提供了系统性的排查手册,旨在帮助用户快速搭建稳定可靠的系统资源监控平台。

weixin_29197835的博客 1008

Servlet JSP和Spring MVC初学指南

最近系统学习了下servlet,JSP和spring MVC的知识,推荐一本入门参考书《Servlet、JSP和Spring MVC初学指南》,作者是加拿大人Budi Kurniawan和美国人Paul Deck,林仪民、俞黎敏译。该书共24章,主要分为两部分,第一部分讲解Servlet的相关知识;第二部分讲解Spring MVC。书中每一章中都配有代码,可以对着书本敲一下,加深理解。 首先,什么...

nfzhlk的专栏 3922

微带功分器设计与ADS-EM联合仿真实战解析

本文详细解析了微带功分器设计与ADS-EM联合仿真的实战技巧,涵盖特性阻抗计算、ADS原理图设计、版图生成与EM仿真等关键步骤。通过实际案例分享,帮助工程师掌握射频电路设计中的核心技术和调试方法,提升功分器设计效率与性能。

weixin_29280219的博客 451

Ubuntu 24.04 极速部署 Dify:从零到一的保姆级实践

本文详细介绍了在Ubuntu 24.04系统上快速部署Dify的完整教程,从环境准备到部署验证,再到深度优化和安全加固,提供了一套保姆级的实践指南。通过使用Docker和Docker Compose,结合国内镜像源加速,帮助用户高效完成Dify的安装和配置,确保系统稳定运行。

weixin_42662293的博客 246

Spring boot集成servlet和jsp

Spring boot集成servlet和jsp 1. 修改pom.xml文件,添加以下内容 2. 更新maven项目 3. 编写servlet类(继承HttpServlet) 4. 添加servlet启动类注解 5. 以上步骤完成后,就可以通过URL方式传递参数到java类中了 6. java参数传递到JSP中,在application.properties中添加JSP存放路径 7. 创...

weixin_43306493的博客 1213

自举电容的工作原理-3句话总结

1、一道面试题 照例,先抛出来一道面试题:“Buck电路的SW引脚通常会放置一颗小电容,这颗电容有什么用?”。这个问题问得比较细,非常考验被面试者的硬件基本功。 2、似懂非懂的答案 有小伙伴可能不太清楚这颗电容的作用,回答不上来。也有小伙伴脱口而出:自举电容,用来做升压的。但后面好像说不出来具体逻辑。 没具体了解过,答不上来,也没啥可惜的。但是了解过一点,但又似懂非懂的这种,给出的答案只是轻轻点水或者千篇一律,那无疑是错过了一个加分项。 3、异步Buck的自举环路组成 既然是针对Buck电路讲自举电容,前面

ltqdxl的博客 3万+

JavaWeb项目实战一(Servlet+Jsp项目项目搭建及登录界面)

之前 JavaWeb 学的不是太好,准备从下边列的三个发展阶段,每个阶段以项目形式去补充基础 JavaWeb 发展阶段: Servlet + Jsp SSM:SpringMVC + Spring + MyBatis 其实在中间阶段还存在 SSH(Struts + Spring + Hibernate),SSM 框架其实就是用: SpringMVC 可以完全替代 Struts,配合注解的方式,编程非常快捷,而且通过 restful 风格定义 url,让地址看起来非常优雅 MyBatis 替换 Hib.

Love&Share 2万+

YOLOv11 模型轻量化全流程:从剪枝到量化,打造移动端“极速检测利器”

将浮点模型量化为INT8模型,减少内存占用并加速推理。# 加载剪枝后的模型# 转换为TorchScript# 静态量化# 保存量化模型量化后模型推理速度可再提升20%,而mAP损失小于1%。

m0_64661770的博客 465

开源数字人、虚拟直播部署教程

对,你无看错,是欧美的。在直播带货案例里,我们把模型导入到ue4,我们给模型在ue4里预设了四个动作(站着、站着说话、坐着、坐着说话),三个表情(平静、开发、愤怒),三个镜头(全局、近矩说话、看显示器播放商品展示)。我们只需要把目标主播的直播给录制下来,提取样本数据,然后训练一个从粉丝的不同刺激的组合,到主播的不同响应方式的多元逻辑回归的数学模型参数即可。

南七小僧的学海无涯 4561

spring boot集成servlet和jsp

spring boot集成servlet和jsp 1.修改pom.xml文件,添加以下内容 2.更新maven项目 3.编写servlet类(继承HttpServlet) 4.添加Servlet启动类注解 5.以上步骤完成之后,就可以通过URL方式传递参数到java类中了http://127.0.0.1:8080/fristServlet?name 6.java参数传递到JSP中,在app...

qq_44409909的博客 514

YOLOv8【第二章:卷积创新篇·第23节】一文搞懂,Transformer与卷积混合架构!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》,该专栏持续复现网络上各种热门内容(全网YOLO改进最全最新的专栏,质量分97分+,全网顶流),改进内容支持(分类、检测、分割、追踪、关键点、OBB检测)。且专栏会随订阅人数上升而涨价(毕竟不断更新),当前性价比极高,有一定的参考&学习价值,部分内容会基于现有的国内外顶尖人工智能AIGC等AI大模型技术总结改进而来,嘎嘎硬核。    ✨ 特惠福利:目前活动一折秒杀价!一次订阅,永久免费,所有后续更新内容均免费阅读!

**My Coding Family** 1388

jsp调用servlet方法_Servlet 到 Spring MVC 的简化之路

背景Servlet和JSP是开发Java Web应用程序的两种基本技术,Spring MVC是Spring框架中用于开发Web应用的一个模块。相信大家也和我一样,是从编写Servelt和JSP开始,然后一步步向Spring MVC靠拢。那么Spring MVC到底简化了Servlet什么地方,使Spring MVC成为Web应用开发的首选框架呢,本文将会就这个方面进行探讨。Servlet...

weixin_39779975的博客 391

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

jsp/servlet/struts/hibernate/spring内部实现机制

jsp原理 一、JSP工作原理 JSP程序需要运行于特定的Web服务器中,例如Tomcat/WebLogic等。所有JSP文件,在执行的时候都会被服务器端的JSP引擎转换为Servlet程序(Java源文件),然后调用Java编译器将Servlet程序编译为class文件(字节码文件),并由Java虚拟机(JVM)解释执行。JSP的运行原理如图所示: 在一个JSP文件第一次被请求时,JS

Hello World! 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: Bezier曲线和B样条曲线|第七章 自由曲线与曲面|计算机图形学
下一篇: mybatis基本配置与使用(在Test中)
PearlyWave
博客等级 码龄8年 8粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值