作者简介:练习时长两年半的Java up主 个人主页:老茶icon ps:点赞是免费的,却可以让写博客的作者开兴好久好久 系列专栏:Java全栈,计算机系列(火速更新中) 格言:种一棵树最好的时间是十年前,其次是现在 动动小手,点个关注不迷路,感谢宝子们一键三连
目录
课程名:JavaWeb内容/作用:知识点/设计/实验/作业/练习学习:在IDEA中创建基于Maven的Web项目
在IDEA中创建基于Maven的Web项目1.新建webapp模板2.在src目录下新建文件夹,之后在此创建java文件3.修改项目中web.xml版本为4.04.配置tomcat服务器5.将项目部署在tomcat中6.启动项目web资源目录结构项目上下文路径
修改项目编译时的jdk版本解决tomcat控制台中文乱码Servlet编写Servlet的步骤1.在项目中导入Servlet所需依赖2.在项目的java目录下,新建一个类,继承HttpServlet,重写doGet和doPost方法3.在web.xml文件下,配置Servlet
解决tomcat控制台中输出中文时的乱码三层架构访问服务器某个URL的方式页面向服务器端提交数据的方式服务器端获取前端提交的数据解决请求和响应时的中文乱码总结
课程名:JavaWeb
内容/作用:知识点/设计/实验/作业/练习
学习:在IDEA中创建基于Maven的Web项目
在IDEA中创建基于Maven的Web项目
1.新建webapp模板
2.在src目录下新建文件夹,之后在此创建java文件
选择main\java
3.修改项目中web.xml版本为4.0
打开项目结构
移除默认2.3版本的web.xml文件,移除后一定要apply应用
重新添加web.xml文件,选择4.0版本
4.配置tomcat服务器
5.将项目部署在tomcat中
6.启动项目
启动tomcat
默认启动成功后会自动打开浏览器访问项目,也可以通过"localhost:8080/项目名"访问。
这里看到的页面,是web项目中自带的index.jsp文件
web资源目录结构
webapp下如果有index文件,访问项目后会自动访问index文件,如果没有名为index的文件,就会出现404,表示index页面不存在
项目上下文路径
域名+端口+项目名 称为项目上下文路径
如localhost:8080/web01就是项目上下文路径,可以理解为项目根目录
webapp目录直接通过项目上下文路径访问,无需显式写出
更新了项目中的内容后,根据需要选择重启还是重新部署
修改项目编译时的jdk版本
修改web模块的jdk版本
修改当前项目的jdk版本
解决tomcat控制台中文乱码
重启IDEA
Servlet
Servlet表示Server+Applet,意味运行在服务器上的程序。是一个被动运行程序,每次请求都要执行。
BS结构客户端访问服务器端的流程
编写Servlet的步骤
1.在项目中导入Servlet所需依赖
粘贴在pom.xml文件中的dependencies标签下
2.在项目的java目录下,新建一个类,继承HttpServlet,重写doGet和doPost方法
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/*
* 编写Servlet的步骤
* 1.导入依赖
* 2.创建一个类,继承HttpServlet,重写doGet和doPost方法
* 3.在web.xml中设置访问该类的url映射
* */
public class FirstServlet extends HttpServlet {
//普通的控制台项目,需要主动运行main方法执行程序
//web项目中的java程序,需要被动运行,在用户通过浏览器访问某个程序的url映射时执行
/*
* 当浏览器发送的是get类型的请求,执行这个方法
* */
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
System.out.println("get请求");
}
/*
* 当浏览器发送的是post类型的请求,执行这个方法
* */
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) {
System.out.println("post请求");
}
}
3.在web.xml文件下,配置Servlet
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">
复制资源的相对路径
启动tomcat,访问"localhost:8080/项目路径/first"即可访问自定义servlet类中的doGet方法
解决tomcat控制台中输出中文时的乱码
三层架构
在软件开发中,并不是将所有的功能集成到一个类或文件中实现,而是要将其分层处理。从而达到"高内聚,低耦合"的目的。
低耦合是指降低各个模块之间的关联程度,便于开发和维护,各个模块各司其职。
高内聚指各个模块的功能不开再分。
通常所说的三层架构中的三层,指"数据访问层、业务逻辑层和视图表现层"
数据访问层:用于连接操作数据库的类。对数据进行增删改查。业务逻辑层:用于处理业务逻辑,在适当的情况下访问数据访问层中的内容。视图表现层:用于展示和提供用户输入的渠道,在适当的情况下访问业务逻辑层中的内容
访问服务器某个URL的方式
在浏览器的地址栏中输入对应URL,属于get请求使用a标签,在href中定义对应的URL,属于get请求使用form表单,在action中定义对应的URL,根据method属性的值控制get或post请求
页面向服务器端提交数据的方式
使用form表单的name属性显式提交
提交的数据会暴露在浏览器的地址栏中 使用form表单的name属性隐式提交
提交的数据不会暴露在浏览器的地址栏中 通过"?参数1=值&参数2=值"方式显示提交
在浏览器的地址栏中输入 http://localhost:8080/web01/getOne?id=23
使用a标签 登录
提交的数据会暴露在浏览器的地址栏中
服务器端获取前端提交的数据
前端页面传递数据
在Servlet的doGet或doPost方法中,
通过**request.getParameter(“name值或?后的参数”)**获取数据,返回值为String
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取页面提交的名为id的参数,返回值为String
String id = req.getParameter("id");
if (service.delete(Integer.parseInt(id))) {
//跳转至另一个URL
resp.sendRedirect("http://localhost:8080/Web01/queryEmps");
} else {
resp.getWriter().print("删除失败");
}
}
解决请求和响应时的中文乱码
public class MServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//解决请求时的乱码
req.setCharacterEncoding("utf-8");
//解决响应时的乱码
resp.setContextType("text/html;charset=utf-8");
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doGet(req, resp);
}
}
总结
好好学习,天天向上。
往期专栏Java全栈开发数据结构与算法计算机组成原理操作系统数据库系统物联网控制原理与技术
精彩文章
发表评论