关于如何解决IDEA中修改HTML或CSS,但是服务器上的HTML却不改变的问题

首先这是记录我个人在IDEA上的做web项目被坑出来的经验,有时候你修改了那么多CSS却没有效果 很可能是IDEA的问题,不是你的问题

事先声明 我用的是tomcat服务器 ,css放在webapp下的css文件夹,html放在webapp下的page文件夹,浏览器选择谷歌

1.方法一:直接关闭tomcat服务器,关闭IDEA,重启IDEA,看是否还有问题

2.方法二:删除target文件夹,重启tomcat服务器

 3.方法三(这个也是UP认为最有用的方法,这竟然是我个人在做项目中试出来的)

实例解释一下:

此时我有一个html 我想在一下页面修改一下背景颜色 就改为蓝色吧 

 

按道理这样的话背景颜色应该是蓝色才对,但是tomcat服务器上的HTML却显示这样

 这个时候我们鼠标右键点击界面,选择查看网页源代码(可以使用快捷键Ctrl+U)

我们可以看到网页源代码里面实际并没有修改body里面的属性 这才是导致你修改无效的根本原因

 这个时候我们刷新这个源代码界面

 再打开原来的界面刷新 就修改成功了(如果这样还不超过,就删除target文件夹,重启服务器)

如果成功了 那么一定是源代码界面里的代码添加上了

如果失败了 那么一定是源代码界面里的代码添加失败,建议多打开源代码界面反复刷新,再重新打开原界面

 对于CSS有点类似,由于我的CSS代码是放在css目录下的,我通过网页的形式查看(如下)

假如我现在要访问add_address.css文件 那么我可以在网页端查看

 ​​​​​​

 

 在这里附上我tomcat的配置

 

 

 

 刷新add_address.css文件(在网页上操作)这样就生效了(大概率对比网页端的css文件和你亲自写的css文件,会发现就是IDEA认不出你css的变化,刷新一下就还原上了)

 其他一些离谱方法:

你再复制一份一的文件 例如我的add_address还是有问题 再复制一份 把复制的这份在网页端上查看一下 可不可以满足预期效果(重点看源代码是不是和你IDEA里写的一样

 

 

在IntelliJ IDEA中创建Java项目并使用Servlet编写网页时,如果你想动态改变字体颜色而直接嵌入HTML代码,你可以通过Java的DOM (Document Object Model) 操作来修改页面内容。以下是一个简单的步骤: 1. 创建一个Servlet,比如`MyServlet.java`,并继承自`HttpServlet`: ```java import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.w3c.dom.*; import java.io.IOException; public class MyServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 页面生成逻辑 String content = "<p>这里是你想渲染的文本</p>"; // 示例文字 Document doc = getDocumentFromString(content); // 获取文档中的第一个段落元素 Element paragraph = doc.getDocumentElement().getElementsByTagName("p").item(0); // 修改字体颜色为红色 Node styleNode = doc.createElement("style"); String cssRule = ".red-font { color: red; }"; styleNode.appendChild(doc.createTextNode(cssRule)); doc.head.appendChild(styleNode); // 添加到头部,应用全局 paragraph.setAttribute("class", "red-font"); // 者直接在这里设置元素样式 // 将处理后的DOM结构转换回HTML字符串 String modifiedContent = docToString(doc); response.setContentType("text/html"); response.getWriter().print(modifiedContent); } private Document getDocumentFromString(String html) { try { InputSource inputSource = new InputSource(new StringReader(html)); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); return dBuilder.parse(inputSource); } catch (Exception e) { e.printStackTrace(); return null; } } private String docToString(Document doc) { Transformer transformer = TransformerFactory.newInstance().newTransformer(); DOMSource source = new DOMSource(doc); StreamResult result = new StreamResult(new StringWriter()); transformer.transform(source, result); return result.getWriter().toString(); } } ``` 当你访问这个Servlet时,如`http://localhost:8080/your-app/MyServlet`,文字将会显示为红色。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值