2024年JavaWeb,2024年最新2024金三银四C C++大厂面试题来袭

img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取

//生命周期

@Override//初始化
public void init(ServletConfig arg0) throws ServletException {
	//当请求来到这个servlet就会调用init方法
	System.out.println("开始初始化");
}

@Override//服务
public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
	// 所有的代码写在这个方法中
	//强转响应
	HttpServletResponse response = (HttpServletResponse) resp;
	//强转请求
	HttpServletRequest request = (HttpServletRequest) req;
	//如果用户名是中文
	req.setCharacterEncoding("utf-8");
	//取到用户数据
	String username = req.getParameter("username");
	String password = req.getParameter("password");
	//通过响应对象获得输出对象
	PrintWriter out = response.getWriter();
    //通过请求对象取session,需要强转请求
	HttpSession session = request.getSession();
	//取application通过请求对象
	ServletContext application = request.getServletContext();
	//与数据库数据做对比
	if("root".equals(username)&&"root123".equals(password)) {
		//登陆成功
		//转发:req.getRequestDispatcher("/xx").forward(req, resp);
        //重定向:需要强转响应
		//response.sendRedirect("/xx");
		out.println("登陆成功");
	}else {
		//登陆失败
		out.println("登陆失败");
	}
}

@Override//销毁
public void destroy() {
	//什么时候销毁
	//1.服务关闭时
	//2.这个类被修改时
	System.out.println("我销毁了");
}

@Override//得到配置
public ServletConfig getServletConfig() {
	// TODO Auto-generated method stub
	return null;
}

@Override//得到信息
public String getServletInfo() {
	// TODO Auto-generated method stub
	return null;
}

}



> 
> **家人们注意了在代码里我使用了强转,是因为ServletRequest 和 ServletResponse 没有重定向功能,所有request(请求)和response(响应)取不到值。但是ServletRequest 和 ServletResponse的子类有重定向功能所有,我们要进行强转。**
> 
> 
> 


提供访问路径【web.xml】



<?xml version="1.0" encoding="UTF-8"?> Web20 /index.jsp one com.zking.servlet.LoginServlet one /login.do ```

切记修改了web.xml的代码一定要重启服务器

访问路径一定要加/,否则运行会报错

登陆界面代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- action里填配置的路径不需要加/ -->
<form action="login.do" method="post">
    <p><input type="text" name="username"></p>
    <p><input type="text" name="password"></p>
    <p><button>登陆</button></p>
</form>
</body>
</html>

这样我们的登陆就完成了,但是这样大家会不会觉得代码有点多,没关系,还有其他方法。

二.开发模式

我们的开发模式有两种,一种是(传统的开发模式)配置式开发,另一种是注解式开发。我们上面所讲的就是配置式开发,接下来我们来讲一讲注解式开发( ̄▽ ̄)*。

注解式开发使用的是@注解,在代码中**@WebServlet**就等于web.xml里的

在@WebServlet后面加上(),在里面直接填入路径,例如**@WebServlet(“/xxx”)**就等于web.xml里的

三.继承Servlet

使用注解式开发的方法我们就可以不用修改web.xml代码了,是不是简单多了(●’◡’●)。接下来我们写一个MyServlet文件,写Servlet有两种方法,一种式实现,另一种是继承。实现的方法我们已经写过了,接下来我们使用继承的方法

package com.zking.servlet;

import java.io.IOException;
import java.io.PrintWriter;

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 javax.servlet.http.HttpSession;


/**
 * 
 * @author zjjt
 *
 */
@WebServlet("/test.do")//直接填访问路径
public class MyServlet extends HttpServlet{
	
	//不同的请求方式:
	//doGet 专门处理get请求
	//doPost 专门处理post请求
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//登陆功能
		doPost(req,resp);


![img](https://img-blog.csdnimg.cn/img_convert/897eb7c8de2ab4b38a004555dc0989ee.png)
![img](https://img-blog.csdnimg.cn/img_convert/4b06e34e08048cee6be4b61b1b056245.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以添加戳这里获取](https://bbs.csdn.net/topics/618668825)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值