创建一个javaWeb Project

文章目录

  • 前言
  • 一、eclipse创建web工程
  • 二、web.xml
  • servlet.xml
    • < mvc:annotation-driven/ > Spring MVC 驱动
    • < context:component - scan >:扫描
    • < bean > ... < /bean >
    • < import > config/beans.xml
  • beans.xml
  • mybatis.xml


前言

javaWeb学生管理系统实现


一、eclipse创建web工程

File -> New -> Dynamic Web Project
在这里插入图片描述
记得创建完成后点击Properties,修改Resource里的编码为UTF-8
在这里插入图片描述
在这里插入图片描述
windows默认是GBK,为了避免后续乱码,后续统一用UTF-8

再点击Configure build path,把需要的jar包导入进来
在这里插入图片描述
在这里插入图片描述
在工程文件夹下有下面几个文件夹
src:后端开发文件
JRE System Library [jre - 1.8]:Java 运行时环境库,版本为 1.8,提供 Java 程序运行所需的类库等资源。
Apache Tomcat v8.0:一个开源的 Web 应用服务器,用于部署和运行 Java Web 应用程序,版本为 8.0 。
WebContent:在 Java Web 项目中,通常用于存放 Web 相关的资源,如 HTML、CSS、JavaScript 文件以及 JSP 文件等。
META - INF:用于存放项目的元数据,比如配置信息等。
WEB - INF:是 Java Web 应用程序的重要目录,通常包含 web.xml(配置文件)、classes(存放编译后的 class 文件)、lib(存放项目依赖的 jar 包)等。

lib文件夹同样加入所需的jar包,作用与configure build path里的作用有所不同。总之,都添加避免差错。

WEB-INF里放置web.xml和servlet.xml
在这里插入图片描述

二、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">
  <display-name>0208</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
  </welcome-file-list>
  
  <servlet>
	<servlet-name>helloworld</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  </servlet>
<servlet-mapping>
	<servlet-name>helloworld</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>

< ?xml> 1.0xml版本 encoding编码UTF-8
< web-app …version=“3.1” > 每个Project的web.xml复制这段即可
< servlet-name >:为 Servlet 定义一个名称helloworld,用于在整个 Web 应用中唯一标识该 Servlet。
< servlet-class >:指定该 Servlet 的实现类为org.springframework.web.servlet.DispatcherServlet,这是 Spring Web MVC 框架中的前端控制器,负责接收所有的 Web 请求,并将请求分发给相应的处理器进行处理。

servlet.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:p="http://www.springframework.org/schema/p"
	xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:util="http://www.springframework.org/schema/util"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsd   
         http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd    
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd    
            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd">
  
   <mvc:annotation-driven/>
   <context:component-scan base-package="com.njupt"/>
   
   <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
    <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>  
    
    <property name="prefix" value="/"/>  
    <property name="suffix" value=".jsp"/>  
   </bean>  
    <import resource="classpath:config/beans.xml"/> 
    <mvc:resources location="/imgs/" mapping="/imgs/**"/>
</beans>

< mvc >之前的每次使用直接复制

< mvc:annotation-driven/ > Spring MVC 驱动

启用 Spring MVC 的注解驱动功能。这会自动注册一些关键的 Spring MVC 组件,如RequestMappingHandlerMapping、RequestMappingHandlerAdapter等,使得可以使用@RequestMapping、@Controller等注解来开发控制器,简化了 Spring MVC 的配置。

< context:component - scan >:扫描

< context:component-scan base-package=“com.njupt”/ >

开启组件扫描,在com.njupt包及其子包下扫描标记了@Component、@Controller、@Service、@Repository等注解的类,并将它们注册为 Spring 容器中的 Bean。这是自动发现和注册应用组件的重要机制。

src里的文件一般设为三级,比如com.njupt.controller包,方便做扫描等操作。

< bean > … < /bean >

复制使用即可
定义了一个InternalResourceViewResolver视图解析器。
viewClass指定视图类为JstlView,用于支持 JSTL(JavaServer Pages Standard Tag Library)。
prefix指定视图文件的前缀为/,表示视图文件在 Web 应用的根目录下。
suffix指定视图文件的后缀为.jsp,即 Spring MVC 会将逻辑视图名解析为对应的.jsp文件路径。

< import > config/beans.xml

从类路径下的config目录中导入beans.xml配置文件,这有助于将配置拆分到多个文件中,提高配置的可维护性和组织性。


beans.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:aop="http://www.springframework.org/schema/aop"
  xmlns:context="http://www.springframework.org/schema/context"
  xsi:schemaLocation="http://www.springframework.org/schema/beans 
  http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
  http://www.springframework.org/schema/aop 
  http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
  http://www.springframework.org/schema/context 
  http://www.springframework.org/schema/context/spring-context-4.3.xsd">

    <!--   <aop:aspectj-autoproxy /> -->
           
   <bean id="dataSourceObj" class="org.apache.commons.dbcp.BasicDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		<property name="url" value="jdbc:mysql://localhost:3306/studentsys?characterEncoding=UTF-8"></property>
		<property name="username" value="root"></property>
		<property name="password" value=""></property>
	</bean>
	
	<!-- 配置sqlsessionFactory -->
	<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="configLocation" value="classpath:config/mybatis.xml"></property>
		<property name="dataSource" ref="dataSourceObj"></property>
	</bean>
	<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.njupt.mapper"></property>
	</bean>
	
		<!-- 文件上传 -->
	<bean id="multipartResolver" 
       class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> 
      <property name="maxUploadSize" value="102400000"/>    <!-- 设置文件上传最大值字节: -->
     </bean> 
	
</beans>

< bean database… > 连接数据库
< property name=“url” value=“jdbc:mysql://localhost:3306/studentsys?characterEncoding=UTF-8”>
连接studentsys数据库,编码形式是UTF-8

< bean class=“org.mybatis.spring.mapper.MapperScannerConfigurer”>

定义了一个org.mybatis.spring.mapper.MapperScannerConfigurer类型的 Bean,用于扫描指定包(com.njupt.mapper)下的 Mapper 接口,并自动生成 Mapper 代理对象,将其注册到 Spring 容器中,方便在其他组件中通过依赖注入使用。

< bean id=“sqlSessionFactory” class=“org.mybatis.spring.SqlSessionFactoryBean”>



id为sqlSessionFactory,定义了一个org.mybatis.spring.SqlSessionFactoryBean类型的 Bean。SqlSessionFactory是 MyBatis 的核心组件,负责创建SqlSession。
configLocation指定 MyBatis 的配置文件位置,这里从类路径下的config目录加载 mybatis.xml 文件。
dataSource引用前面定义的dataSourceObj,为SqlSessionFactory提供数据库连接。

mybatis.xml

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
	<!-- 别名    以类名作为全限定名  -->
	 <settings>
  		<setting name="logImpl" value="STDOUT_LOGGING" />
     </settings>
	<typeAliases>
		<package name="com.njupt.po"/>
	</typeAliases>
 
</configuration>

前面的复制即可
< typeAliases>
< package name=“com.njupt.po”/>
< /typeAliases >

< typeAliases >标签用于定义类型别名,目的是简化 MyBatis 配置文件中对 Java 类型的引用。
< package >子标签指定了一个包名com.njupt.po。MyBatis 会自动扫描该包下的所有 Java 类,并为每个类默认创建一个别名。别名默认是类名,首字母不区分大小写。例如,com.njupt.po.User类的别名可以是user或User。这样在 MyBatis 的映射文件(如Mapper.xml)中使用这些类型时,就可以直接使用别名,而无需写完整的类名,使配置更加简洁。

com.njupt.po里面写po类

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/966461.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

aspectFill(填充目标区域的同时保持图像的原有宽高比 (aspect ratio)图像不会被拉伸或压缩变形

“aspectFill” 是一个常用于图像和视频处理的术语&#xff0c;尤其是在用户界面 (UI) 设计和图形编程领域。它描述的是一种图像缩放或调整大小的方式&#xff0c;旨在填充目标区域的同时保持图像的原有宽高比 (aspect ratio)。 更详细的解释: Aspect Ratio (宽高比): 指的是图…

界址点成果表批量生成(新增.docx格式)-附工具下载链接

界址点编号工具20250208更新&#xff08;成果表新增.docx格式&#xff09;。 【工具简介】工具可根据面图层&#xff0c;西北角顺时针批量生成界址点&#xff0c;可以设置角度、距离参数&#xff0c;来减少生成界址点的数量&#xff08;不用全部节点生成界址点&#xff09;。生…

《redis缓存淘汰机制》

【redis缓存淘汰机制导读】redis作为一款内存型数据库&#xff0c;其设计的初衷就是为了给广大业务层提供高效的数据读、写能力&#xff0c;因为访问内存的速度肯定是要比直接访问磁盘的速度快几个数量级&#xff0c;假设业务方所有数据读、写请求全部都转发到后台的数据库&…

AWK系统学习指南:从文本处理到数据分析的终极武器 介绍

目录 一、AWK核心设计哲学解析 1.1 记录与字段的原子模型 1.2 模式-动作范式 二、AWK编程语言深度解析 2.1 控制结构 说明&#xff1a; 2.2 关联数组 代码说明&#xff1a; 示例输入和输出&#xff1a; 注意事项&#xff1a; 2.3 内置函数库 三、高级应用技巧 3.1…

深入解析AI技术原理

序言 在当今数字化时代,人工智能(AI)已经成为科技领域最炙手可热的话题之一。从智能家居到自动驾驶汽车,从医疗诊断到金融风险预测,AI的应用无处不在。然而,对于许多人来说,AI背后的技术原理仍然充满了神秘色彩。本文将深入探讨AI的核心技术原理,从基础理论到前…

计算机组成原理(3)

计算机组成原理&#xff08;3&#xff09; 存储器层次结构存储器概述存储器分类存储器性能指标 半导体随机存储SRAM和DRAM 存储器层次结构 主存-辅存&#xff1a;实现了虚拟存储系统&#xff0c;解决了主存容量不足的问题&#xff1b; Cache-主存&#xff1a;解决了主存于CPU速…

计算机网络-SSH基本原理

最近年底都在忙&#xff0c;然后这两天好点抽空更新一下。前面基本把常见的VPN都学习了一遍&#xff0c;后面的内容应该又继续深入一点。 一、SSH简介 SSH&#xff08;Secure Shell&#xff0c;安全外壳协议&#xff09;是一种用于在不安全网络上进行安全远程登录和实现其他安…

【理论知识】 2D 卷积、3D 卷积与 3D 池化

摘要 卷积神经网络&#xff08;Convolutional Neural Networks, CNNs&#xff09;在计算机视觉、视频处理和医学影像分析等领域取得了显著的成功。卷积操作作为CNN的核心&#xff0c;主要包括二维卷积&#xff08;2D Convolution&#xff09;、三维卷积&#xff08;3D Convolu…

apisix网关ip-restriction插件使用说明

ip-restriction插件可以在网关层进行客户端请求ip拦截。 当然了&#xff0c;一般不推荐使用该方法&#xff0c;专业的事专业工具做。建议有条件&#xff0c;还是上防火墙或者waf来做。 官方文档&#xff1a;ip-restriction | Apache APISIX -- Cloud-Native API Gateway whit…

uniapp 编译生成鸿蒙正式app步骤

1&#xff0c;在最新版本DevEco-Studio工具新建一个空项目并生成p12和csr文件&#xff08;构建-生成私钥和证书请求文件&#xff09; 2&#xff0c;华为开发者平台 根据上面生成的csr文件新增cer和p7b文件&#xff0c;分发布和测试 3&#xff0c;在最新版本DevEco-Studio工具 文…

在亚马逊云科技上云原生部署DeepSeek-R1模型(下)

在本系列的上篇中&#xff0c;我们介绍了如何通过Amazon Bedrock部署并测试使用了DeepSeek模型。在接下来的下篇中小李哥将继续介绍&#xff0c;如何利用亚马逊的AI模型训练平台SageMaker AI中的&#xff0c;Amazon Sagemaker JumpStart通过脚本轻松一键式部署DeepSeek预训练模…

A new release of pip is available: 24.2 -> 25.0

您可以使用官方提供的 get-pip.py 脚本来安装或升级pip。 1&#xff0c;下载 get-pip.py 脚本&#xff1a; curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py 2&#xff0c;运行脚本以安装或升级pip&#xff1a; python get-pip.py 3&#xff0c;实际运行效果

使用WebUI访问本地Deepseek(Ollama集成Open WebUI)

在《deepseek本地部署和使用&#xff08;Linux虚拟机&#xff09;》中&#xff0c;我们使用Ollama部署了Deepseek-r1&#xff0c;但是只能通过命令行方式交互&#xff0c;默认Ollama启动后&#xff0c;会启动一个监听到127.0.0.1&#xff0c;用以接收POST 请求&#xff0c;服务…

[NKU]C++安装环境 VScode

bilibili安装教程 vscode 关于C/C的环境配置全站最简单易懂&#xff01;&#xff01;大学生及初学初学C/C进&#xff01;&#xff01;&#xff01;_哔哩哔哩_bilibili 1安装vscode和插件 汉化插件 ​ 2安装插件 2.1 C/C 2.2 C/C Compile run ​ 2.3 better C Syntax ​ 查看已…

DeepSeek图解10页PDF

以前一直在关注国内外的一些AI工具&#xff0c;包括文本型、图像类的一些AI实践&#xff0c;最近DeepSeek突然爆火&#xff0c;从互联网收集一些资料与大家一起分享学习。 本章节分享的文件为网上流传的DeepSeek图解10页PDF&#xff0c;免费附件链接给出。 1 本地 1 本地部…

如何将Excel的表格存为图片?

emmm&#xff0c;不知道题主具体的应用场景是什么&#xff0c;就分享几个我一般会用到的场景下奖excel表格保存为图片的技巧吧&#xff01; 先来个总结&#xff1a; 方法 适用场景 画质 操作难度 截图&#xff08;WinShiftS&#xff09; 快速保存表格&#xff0c;方便粘贴…

UnrealEngine dotnet.exe 请求的操作需要提升 解决方案

一、问题如图 二、解决方式 按照图片路径找到dotnet.exe&#xff0c;鼠标右键-属性- 兼容性&#xff0c;勾选以管理员方式运行后重启UE。如下图&#xff1a;

活动预告 |【Part 1】Microsoft 安全在线技术公开课:通过扩展检测和响应抵御威胁

课程介绍 通过 Microsoft Learn 免费参加 Microsoft 安全在线技术公开课&#xff0c;掌握创造新机遇所需的技能&#xff0c;加快对 Microsoft Cloud 技术的了解。参加我们举办的“通过扩展检测和响应抵御威胁”技术公开课活动&#xff0c;了解如何更好地在 Microsoft 365 Defen…

「vue3-element-admin」告别 vite-plugin-svg-icons!用 @unocss/preset-icons 加载本地 SVG 图标

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall ︱vue3-element-admin︱youlai-boot︱vue-uniapp-template &#x1f33a; 仓库主页&#xff1a; GitCode︱ Gitee ︱ Github &#x1f496; 欢迎点赞 &#x1f44d; 收藏 ⭐评论 …

SAP HCM PFCG读取结构化权限参数

权限&#xff1a;HCM的权限分两套&#xff0c;一套是PFCG的普通权限&#xff0c;一套是结构化权限是根据组织ID限制访问权限的&#xff0c;今天我们讨论的话题如何把这两类的权限组合起来 场景&#xff1a;例如下载有个薪酬管理人员&#xff0c;他复制A和B部门&#xff0c;但是…